Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHERPA_Single_Events_Beam_Remnants_H
0002 #define SHERPA_Single_Events_Beam_Remnants_H
0003 
0004 #include "SHERPA/Single_Events/Event_Phase_Handler.H"
0005 #include "SHERPA/SoftPhysics/Beam_Remnant_Handler.H"
0006 #include "ATOOLS/Math/Histogram.H"
0007 
0008 namespace SHERPA {
0009   class Beam_Remnants : public Event_Phase_Handler {
0010   private :
0011     bool m_ana;
0012     Beam_Remnant_Handler  * p_beamremnanthandler;
0013     std::map<std::string, ATOOLS::Histogram *> m_histos;
0014     void InitHistos();
0015     void Analyse(ATOOLS::Blob_List*);
0016     int  EstablishNeed(ATOOLS::Blob_List*);
0017     ATOOLS::Return_Value::code DealWithRescattering(ATOOLS::Blob_List* bloblist);
0018     ATOOLS::Return_Value::code StandardTreatment(ATOOLS::Blob_List* bloblist,
0019                          const bool & onlyBunch=false);
0020   public :
0021     Beam_Remnants(Beam_Remnant_Handler *);
0022     ~Beam_Remnants();
0023     ATOOLS::Return_Value::code Treat(ATOOLS::Blob_List*);
0024     void                       CleanUp(const size_t & mode=0);
0025     void                       Finish(const std::string &);
0026   };
0027 
0028 
0029   /*!
0030     \file 
0031     \brief Contains the class SHERPA::Beam_Remnants
0032   */
0033 
0034   /*!
0035     \class Beam_Remnants
0036     \brief The specific Event_Phase_Handler responsible for the translation of partons
0037            into hadrons.
0038 
0039     This is the single event phase that manages the hadronization stage, i.e. the translation
0040     of partons into hadrons. For this, it needs some idea on how to treat the remanants of
0041     eventually coloured incoming beams (like protons) and a fragmentation handler.
0042   */
0043   /*!
0044     \fn Beam_Remnants::Beam_Remnants(Fragmentation_Handler *)
0045     Copies the pointer to the fragmentation handler and sets the
0046     name and the type of this event phase. The name is given by 
0047     "Beam_Remnants : " plus the name of the fragmentation model, the type
0048     is "Beam_Remnants".
0049   */
0050   /*!
0051     \fn Beam_Remnants::~Beam_Remnants()
0052     Nothing to be done in the destructor so far.
0053   */
0054   /*!
0055     \fn bool Beam_Remnants::Treat(ATOOLS::Blob_List*)
0056     This method basically passes the blob list to the method Hadronize of the fragmentation handler.
0057   */
0058   /*!
0059     \fn void Beam_Remnants::CleanUp()
0060     Nothing has to be done here.
0061   */
0062 }
0063 #endif
0064