File indexing completed on 2025-04-19 09:10:15
0001 #ifndef SHRIMPS_Main_Elastic_Event_Generator_H
0002 #define SHRIMPS_Main_Elastic_Event_Generator_H
0003
0004 #include "SHRiMPS/Event_Generation/Event_Generator_Base.H"
0005 #include "SHRiMPS/Cross_Sections/Sigma_Elastic.H"
0006 #include "ATOOLS/Phys/Blob_List.H"
0007 #include "ATOOLS/Math/Function_Base.H"
0008 #include "ATOOLS/Org/CXXFLAGS.H"
0009 #include "ATOOLS/Math/Histogram.H"
0010 #include <vector>
0011 #include <map>
0012
0013 namespace SHRIMPS {
0014 class Elastic_Event_Generator : public Event_Generator_Base {
0015 private:
0016 Sigma_Elastic * p_sigma;
0017 ATOOLS::Flavour m_beam1, m_beam2;
0018 ATOOLS::Vec4D m_p1, m_p2, m_p1out, m_p2out;
0019 ATOOLS::Blob * p_blob;
0020 double m_E12, m_pl12, m_pl1, m_E22, m_pl22, m_pl2, m_abs_t;
0021 int m_sign1;
0022 bool m_ana;
0023
0024 std::map<std::string, ATOOLS::Histogram * > m_histomap;
0025
0026 void FixKinematics();
0027 void FillBlob();
0028 public:
0029 Elastic_Event_Generator(Sigma_Elastic * sigma,const int & test=0);
0030 ~Elastic_Event_Generator();
0031
0032 int InitEvent(ATOOLS::Blob_List * blobs);
0033 ATOOLS::Blob * GenerateEvent() { return NULL; }
0034 };
0035 }
0036 #endif