Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRIMPS_Ladders_Primary_Ladders_H
0002 #define SHRIMPS_Ladders_Primary_Ladders_H
0003 
0004 #include "SHRiMPS/Ladders/Ladder_Generator_Base.H"
0005 #include "SHRiMPS/Beam_Remnants/Colour_Generator.H"
0006 #include "ATOOLS/Math/Histogram.H"
0007 
0008 namespace SHRIMPS {
0009   class Primary_Ladders {
0010   private:
0011     Ladder_Generator_Base * p_laddergenerator;
0012     Colour_Generator        m_colourgenerator;
0013     double                  m_Ecms, m_E[2];
0014     std::list<Ladder *>     m_ladders;
0015 
0016     bool m_test;
0017     long unsigned int n_calls, n_start, n_gen;
0018     std::map<std::string,ATOOLS::Histogram * > m_histos;
0019 
0020     bool   IsAllowed(Ladder * ladder);
0021     void   Add(Ladder * ladder);
0022     void   FillAnalysis(Ladder * ladder,const std::string & tag);
0023   public:
0024     Primary_Ladders();
0025     ~Primary_Ladders();
0026     
0027     bool operator()(Omega_ik * eikonal,const double & B,const size_t & N);
0028     void Initialise(Remnant_Handler * remnants);
0029     void Test();
0030     void Reset();
0031 
0032     inline void SetMaxEnergies(const double & E1,const double & E2) {
0033       m_E[0] = E1; m_E[1] = E2;
0034     }
0035     inline Colour_Generator    * GetColourGenerator()  { return &m_colourgenerator; }
0036     inline std::list<Ladder *> * GetLadders()          { return &m_ladders; }
0037     inline const double Yhat()   const { return p_laddergenerator->Yhat(); }
0038     inline const double Ymax()   const { return p_laddergenerator->Ymax(); }
0039     inline const double KT2min() const { return p_laddergenerator->KT2min(); }
0040   };
0041 }
0042 #endif