Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef SHRIMPS_Beam_Remnants_Colour_Generator_H
0002 #define SHRIMPS_Beam_Remnants_Colour_Generator_H
0003 
0004 #include "SHRiMPS/Ladders/Ladder.H"
0005 #include "ATOOLS/Org/CXXFLAGS.H"
0006 #include <set>
0007 
0008 
0009 namespace SHRIMPS {
0010   class Colour_Generator {
0011   private:
0012     int           m_dir;
0013     Ladder      * p_ladder;
0014     LadderMap   * p_emissions;
0015     TPropList   * p_props;
0016     std::set<int> m_colours[2][2];
0017     int           m_propcolours[2];
0018     
0019     void PickStartColours();
0020     void IterateColours(LadderMap::iterator out,TPropList::iterator prop);
0021     void PickEndColours();
0022     bool ReplaceFSColour(const size_t & pos,const int & orig,const int & repl);
0023   public:
0024     Colour_Generator();
0025     ~Colour_Generator();
0026 
0027     bool operator()(Ladder * ladder);
0028 
0029     void Reset(); 
0030     void OutputStack();
0031     inline std::set<int> & GetColours(const size_t & beam, const size_t & index) {
0032       return m_colours[beam][index];
0033     }
0034   };
0035 }
0036 
0037 #endif