Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef AHADIC_Main_Ahadic_H
0002 #define AHADIC_Main_Ahadic_H
0003 
0004 #include "AHADIC++/Formation/Beam_Particles_Shifter.H"
0005 #include "AHADIC++/Formation/Singlet_Former.H"
0006 #include "AHADIC++/Formation/Singlet_Checker.H"
0007 #include "AHADIC++/Formation/Gluon_Decayer.H"
0008 #include "AHADIC++/Tools/Soft_Cluster_Handler.H"
0009 #include "AHADIC++/Decays/Cluster_Decayer.H"
0010 #include "AHADIC++/Tools/Cluster.H"
0011 #include "ATOOLS/Phys/Blob_List.H"
0012 #include "ATOOLS/Phys/Particle_List.H"
0013 #include "ATOOLS/Phys/Fragmentation_Base.H"
0014 #include "ATOOLS/Math/Histogram.H"
0015 #include "ATOOLS/Org/Return_Value.H"
0016 #include "ATOOLS/Org/CXXFLAGS.H"
0017 #include <list>
0018 
0019 namespace AHADIC {
0020   class Ahadic : public ATOOLS::Fragmentation_Base {
0021   private:
0022     std::list<Singlet *>        m_singlet_list; 
0023     std::list<Cluster *>        m_cluster_list; 
0024     std::list<Proto_Particle *> m_hadron_list; 
0025 
0026     Soft_Cluster_Handler   m_softclusters;
0027     Beam_Particles_Shifter m_beamparticles;
0028     Singlet_Former         m_sformer;
0029     Singlet_Checker        m_singletchecker;
0030     Gluon_Decayer          m_gluondecayer;
0031     Cluster_Decayer        m_clusterdecayer;
0032 
0033     ATOOLS::Vec4D m_totmom; 
0034 
0035     bool ExtractSinglets(ATOOLS::Blob * blob);
0036     bool ShiftBeamParticles();
0037     bool CheckSinglets();
0038     bool DecayGluons();
0039     bool DecayClusters();
0040     void Reset(ATOOLS::Blob * blob=NULL);
0041 
0042     ATOOLS::Return_Value::code Hadronize(ATOOLS::Blob * blob, int retry=0);
0043     void FillOutgoingParticles(ATOOLS::Blob * blob);
0044 
0045     bool SanityCheck(ATOOLS::Blob * blob,double norm2);
0046     void CleanUp(ATOOLS::Blob * blob);
0047   public:
0048     Ahadic(std::string shower);
0049     ~Ahadic();
0050 
0051     ATOOLS::Return_Value::code Hadronize(ATOOLS::Blob_List *);
0052   };
0053 }
0054 #endif