X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;ds=sidebyside;f=ginac%2Ftensor.h;h=ac0db7c18c307e5c4e43f7fcca1f9e3209bde2ea;hb=354bd94b7a2e981dada57773790d098bba59fc93;hp=712ec7e131539ce8aaf3c92e815f52486521d1a0;hpb=68fdf425abf14d016d5f95ee7b9d06a19a3c5926;p=ginac.git diff --git a/ginac/tensor.h b/ginac/tensor.h index 712ec7e1..ac0db7c1 100644 --- a/ginac/tensor.h +++ b/ginac/tensor.h @@ -3,7 +3,7 @@ * Interface to GiNaC's special tensors. */ /* - * GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2005 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,9 +60,13 @@ class tensdelta : public tensor // functions overriding virtual functions from base classes public: - void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const; + + // non-virtual functions in this class +protected: + void do_print(const print_context & c, unsigned level) const; + void do_print_latex(const print_latex & c, unsigned level) const; }; @@ -75,9 +79,12 @@ class tensmetric : public tensor // functions overriding virtual functions from base classes public: - void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const; + + // non-virtual functions in this class +protected: + void do_print(const print_context & c, unsigned level) const; }; @@ -95,9 +102,13 @@ public: // functions overriding virtual functions from base classes public: - void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; + // non-virtual functions in this class +protected: + void do_print(const print_context & c, unsigned level) const; + void do_print_latex(const print_latex & c, unsigned level) const; + // member variables private: bool pos_sig; /**< If true, the metric is diag(-1,1,1...). Otherwise it is diag(1,-1,-1,...). */ @@ -114,9 +125,13 @@ class spinmetric : public tensmetric // functions overriding virtual functions from base classes public: - void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const; + + // non-virtual functions in this class +protected: + void do_print(const print_context & c, unsigned level) const; + void do_print_latex(const print_latex & c, unsigned level) const; }; @@ -133,10 +148,14 @@ public: // functions overriding virtual functions from base classes public: - void print(const print_context & c, unsigned level = 0) const; ex eval_indexed(const basic & i) const; bool contract_with(exvector::iterator self, exvector::iterator other, exvector & v) const; + // non-virtual functions in this class +protected: + void do_print(const print_context & c, unsigned level) const; + void do_print_latex(const print_latex & c, unsigned level) const; + // member variables private: bool minkowski; /**< If true, tensor is in Minkowski-type space. Otherwise it is in a Euclidean space. */