Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef AHADIC_Tools_Singlet_Tools_H
0002 #define AHADIC_Tools_Singlet_Tools_H
0003 
0004 #include "AHADIC++/Tools/Proto_Particle.H"
0005 #include "AHADIC++/Tools/Constituents.H"
0006 #include <list>
0007 
0008 namespace AHADIC {
0009   class Singlet : public std::list<Proto_Particle *> {
0010     bool ReorderCriterion(Proto_Particle * first=NULL);
0011   private:
0012   public:
0013     Singlet();
0014     ~Singlet();
0015     void Reorder(Proto_Particle * first=NULL);
0016     void Erase(Proto_Particle * ref);
0017     void StripSingletOfGluons();
0018     bool Combine(Proto_Particle * part1,Proto_Particle * part2);
0019     double        Mass2() const;
0020     ATOOLS::Vec4D Momentum() const;
0021   };
0022 
0023   std::ostream & operator<<(std::ostream &,const Singlet &);
0024 
0025   class Singlet_Tools {
0026   protected:
0027     Constituents * p_constituents;
0028     Singlet      * p_singlet;
0029 
0030     double m_minQmass, m_mass;
0031   public:
0032     Singlet_Tools();
0033     ~Singlet_Tools() {}
0034     
0035     virtual void Init();    
0036     virtual bool CheckMass(Proto_Particle * part1,Proto_Particle * part2);
0037  };
0038 }
0039     
0040 #endif