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