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