Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef MODEL__UFO__UFO_Model_H
0002 #define MODEL__UFO__UFO_Model_H
0003 
0004 #include "MODEL/Main/Model_Base.H"
0005 #include "MODEL/UFO/UFO_Param_Reader.H"
0006 
0007 namespace UFO{
0008 
0009   typedef std::map<std::string,std::string> StringMap;
0010 
0011   class UFO_Model : public MODEL::Model_Base
0012   {
0013 
0014   public:
0015 
0016     UFO_Model(bool elementary);
0017     ~UFO_Model();
0018     bool ModelInit();
0019     void SetSMMass(const kf_code &kf,const double &m);
0020     void SetSMMasses();
0021     void SetMassiveFlags();
0022     void SetStableFlags();
0023 
0024   protected:
0025 
0026     StringMap m_lorentz_map;
0027 
0028     UFO::UFO_Param_Reader* p_dataread;
0029 
0030     static Complex complexconjugate(const Complex& arg);
0031     static Complex re(const Complex& arg);
0032     static Complex im(const Complex& arg);
0033     static Complex complex(double real, double imag);
0034     static Complex sqrt(const double& arg);
0035     static Complex sqrt(const Complex& arg);
0036     static double  ToDouble(const Complex& arg);
0037 
0038     virtual void ParamInit()    {}
0039     virtual void ParticleInit() {}
0040 
0041     virtual void FillLorentzMap() = 0;
0042     virtual std::string MappedLorentzName(const std::string& label) const;
0043 
0044   };
0045 
0046 }
0047 
0048 #endif