Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef AHADIC_Formations_Gluon_Decayer_H
0002 #define AHADIC_Formations_Gluon_Decayer_H
0003 
0004 #include "AHADIC++/Formation/Gluon_Splitter.H"
0005 #include "AHADIC++/Formation/Trivial_Splitter.H"
0006 #include "AHADIC++/Tools/Singlet_Tools.H"
0007 #include "AHADIC++/Tools/Soft_Cluster_Handler.H"
0008 #include "AHADIC++/Tools/Proto_Particle.H"
0009 #include <list>
0010 
0011 namespace AHADIC {
0012   class Gluon_Decayer : public Singlet_Tools {
0013   private:
0014     std::list<Cluster *> * p_cluster_list; 
0015     Soft_Cluster_Handler * p_softclusters;
0016     Gluon_Splitter   m_splitter;
0017     Trivial_Splitter m_breaker;
0018     
0019     Proto_Particle * p_part1, * p_part2;
0020     bool m_analyse;
0021     int  m_Nclusters;
0022     std::map<std::string, ATOOLS::Histogram *> m_histos;
0023     
0024     
0025     bool             SplitGluonRing();
0026     Proto_Particle * FirstGluon();
0027     bool Trivial(Proto_Particle * part1,Proto_Particle * part2,
0028          const bool & force=true);
0029     int  Step(Proto_Particle * part1,Proto_Particle * part2,
0030           Proto_Particle * part3=NULL);
0031     bool LastStep();
0032     void AnalyseClusters();
0033   public:
0034     Gluon_Decayer(std::list<Cluster *> * cluster_list,
0035           Soft_Cluster_Handler * softclusters);
0036     ~Gluon_Decayer();
0037     void Init();
0038     void Reset();    
0039     void ResetN() { m_Nclusters = 0; }
0040     void FillNs(const int & Nhad);
0041     
0042     bool operator()(Singlet * singlet);
0043   };
0044 }
0045 
0046 #endif