+ // functions overriding virtual functions from base classes
+ ex conjugate() 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;
+};
+
+
+/** This class represents the Dirac gammaL object which behaves like
+ * 1/2 (1-gamma5). */
+class diracgammaL : public tensor
+{
+ GINAC_DECLARE_REGISTERED_CLASS(diracgammaL, tensor)
+
+ // functions overriding virtual functions from base classes
+ ex conjugate() 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;
+};
+
+
+/** This class represents the Dirac gammaL object which behaves like
+ * 1/2 (1+gamma5). */
+class diracgammaR : public tensor
+{
+ GINAC_DECLARE_REGISTERED_CLASS(diracgammaR, tensor)
+
+ // functions overriding virtual functions from base classes
+ ex conjugate() 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;