Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:04

0001 #ifndef HADRONS_Current_Library_VA_F_F_H
0002 #define HADRONS_Current_Library_VA_F_F_H
0003 
0004 #include "HADRONS++/Current_Library/Current_Base.H"
0005 
0006 
0007 namespace HADRONS {
0008   class VA_F_F : public Current_Base {
0009     class FF_Base {
0010       public:
0011         FF_Base( struct GeneralModel _md ) {}
0012         virtual ~FF_Base();
0013         virtual double ff( double q2 ) = 0;
0014     };
0015 
0016     class Simple_FF : public FF_Base { /* dummy */
0017       public:
0018       Simple_FF( struct GeneralModel _md );
0019       double ff( double q2 ) { return 1.0; }
0020     };
0021 
0022     Complex m_cR, m_cL;
0023     FF_Base* p_ff;
0024   public:
0025     VA_F_F(const ATOOLS::Flavour_Vector& flavs,const std::vector<int>& indices,
0026            const std::string& name) :
0027       Current_Base(flavs, indices, name) {
0028       m_cL=Complex( 1.0, 0.0);
0029       m_cR=Complex( 0.0, 0.0);
0030     };
0031     ~VA_F_F() {
0032       if (p_ff!=NULL) delete p_ff;
0033     }
0034     void SetModelParameters( struct GeneralModel _md );
0035     void Calc(const ATOOLS::Vec4D_Vector& moms, bool m_anti);
0036   };
0037 }
0038 #endif
0039 // indices for VA_F_F: 0 is "the barred spinor" in the current,
0040 // 1 is the not-barred one