Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRIMPS_Beam_Remnants_Beam_Remnant_Handler_H
0002 #define SHRIMPS_Beam_Remnants_Beam_Remnant_Handler_H
0003 
0004 #include "SHRiMPS/Beam_Remnants/Hadron_Dissociation.H"
0005 #include "SHRiMPS/Beam_Remnants/Colour_Generator.H"
0006 #include "SHRiMPS/Eikonals/Omega_ik.H"
0007 
0008 namespace BEAM{ class Beam_Spectra_Handler; }
0009 namespace PDF { class ISR_Handler; }
0010 
0011 namespace SHRIMPS {
0012 
0013   class Remnant_Handler {
0014   private:
0015     Colour_Generator * p_colourgenerator; 
0016     Form_Factor      * p_ff[2];
0017     std::vector<Hadron_Dissociation *> m_hadrons;
0018     
0019     void InitialiseCollision(ATOOLS::Blob_List * blobs);
0020   public:
0021     Remnant_Handler(PDF::ISR_Handler *const isr);
0022     ~Remnant_Handler();
0023 
0024     void Reset();
0025     ATOOLS::Return_Value::code FillBeamBlobs(ATOOLS::Blob_List * blobs,
0026                          const double & B=0.);
0027     void SetBeamBlob(ATOOLS::Blob *const beamblob,const int & beam);
0028 
0029     inline void SetFormFactors(Form_Factor * ff1,Form_Factor * ff2) {
0030       p_ff[0] = ff1; p_ff[1] = ff2;
0031     }
0032     inline void SetColourGenerator(Colour_Generator * colourgenerator) {
0033       p_colourgenerator = colourgenerator;
0034     }
0035     inline Hadron_Dissociation * GetHadronDissociation(const size_t & beam) {
0036       return m_hadrons[beam];
0037     }
0038     inline Continued_PDF * GetPDF(const size_t & beam) {
0039       return m_hadrons[beam]->GetPDF();
0040     }
0041   };
0042 }
0043 #endif