Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:43

0001 #ifndef AHADIC_Formations_Beam_Particles_Shifter_H
0002 #define AHADIC_Formations_Beam_Particles_Shifter_H
0003 
0004 #include "AHADIC++/Tools/Soft_Cluster_Handler.H"
0005 #include "AHADIC++/Tools/Singlet_Tools.H"
0006 #include "AHADIC++/Tools/Constituents.H"
0007 #include <list>
0008 
0009 namespace AHADIC {
0010   class Beam_Particles_Shifter {
0011   private:
0012     std::list<Singlet *>      * p_singlets;
0013     Soft_Cluster_Handler      * p_softclusters;
0014     std::list<Proto_Particle *> m_beamparts;
0015     Constituents * p_constituents;
0016     
0017     void ExtractBeamParticles();
0018     bool ShiftBeamParticles();
0019     void RescueLightClusters();
0020     Proto_Particle * GetRecoilPartner(const double & targetmass,
0021                       const ATOOLS::Vec4D & mom,
0022                       const Singlet * veto);
0023     bool ShuffleMomenta(Proto_Particle * recoiler,Cluster * cluster,
0024             const ATOOLS::Flavour & target,const double & tagetmass);
0025   public:
0026     Beam_Particles_Shifter(std::list<Singlet *> * singlets,
0027                Soft_Cluster_Handler * softclusters);
0028     ~Beam_Particles_Shifter();
0029     void Init();
0030     void Reset();
0031 
0032     bool operator()();
0033   };
0034 }
0035 
0036 #endif