3
#include <Spacetime/DiracSpinor.h>
4
#include <Spacetime/Operator4.h>
5
#include <Spacetime/FourVector.h>
7
// ======================================================//
9
// This class is to be used completely behind the scenes //
10
// and facilitiates the following operation: //
12
// FourVector jL=uBar*Gamma()*u; //
14
// ======================================================//
19
operator ComplexFourVector() const;
23
std::shared_ptr<const DiracSpinor::Any> spinor;
24
std::shared_ptr<const DiracSpinor::Bar> spinorBar;
25
std::shared_ptr<const AbsOperator4> op;
26
mutable std::shared_ptr<ComplexFourVector> current;
27
friend Current4 operator * (const DiracSpinor::Bar &, const AbsOperator4 &);
28
friend Current4 operator * (const Current4 &, const DiracSpinor::Any & );
31
Current4 operator * (const DiracSpinor::Bar &, const AbsOperator4 &);
32
Current4 operator * (const Current4 &, const DiracSpinor::Any & );