Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef RECONNECTIONS_Main_Reconnection_Base_H
0002 #define RECONNECTIONS_Main_Reconnection_Base_H
0003 
0004 #include "ATOOLS/Phys/Blob_List.H"
0005 #include "ATOOLS/Math/Histogram.H"
0006 #include "ATOOLS/Org/Return_Value.H"
0007 
0008 namespace RECONNECTIONS {
0009   typedef std::pair<unsigned int,unsigned int> colpair;
0010   
0011   class Reconnection_Base {
0012   protected:
0013     ATOOLS::ParticleSet                        m_parts[2];
0014     std::map<unsigned int, ATOOLS::Particle *> m_cols[2];
0015     ATOOLS::Part_List                          m_particles;
0016     bool                                       m_found;
0017     
0018     bool                                        m_analysis;
0019     std::map<std::string, ATOOLS::Histogram * > m_histomap;
0020 
0021     virtual void SetParameters() = 0;
0022     bool HarvestParticles(ATOOLS::Blob_List * blobs);
0023     void HarvestParticleInfo(ATOOLS::Particle * part);
0024     bool BalanceColours();
0025     void FillMassesInHistogram(ATOOLS::Histogram * histo);
0026   public:
0027     Reconnection_Base();
0028     virtual ~Reconnection_Base();
0029 
0030     virtual void   Initialize();
0031     virtual void   Reset();
0032     virtual int    operator()(ATOOLS::Blob_List *const blobs) = 0;
0033     virtual double Distance(ATOOLS::Particle * trip,ATOOLS::Particle * anti) = 0;
0034 
0035     ATOOLS::Part_List              * GetParticles()               { return &m_particles; }
0036     ATOOLS::ParticleSet            * GetParts(const size_t & pos) { return &m_parts[pos]; }
0037   };
0038 }
0039 #endif