File indexing completed on 2025-12-15 10:30:44
0001 #ifndef ATOOLS_Phys_Flow_H
0002 #define ATOOLS_Phys_Flow_H
0003
0004 #include <iostream>
0005 #include <map>
0006 #include <set>
0007
0008 namespace ATOOLS {
0009
0010 class Particle;
0011
0012 class Flow {
0013 private:
0014
0015 static unsigned int s_qcd_counter;
0016
0017 unsigned int m_codes[2];
0018
0019 friend std::ostream& operator<<(std::ostream &ostr,const Flow &flow);
0020
0021 public:
0022
0023 Flow();
0024 Flow(const Flow &flow);
0025 ~Flow();
0026
0027 void SetCode(const Flow &flow);
0028
0029
0030
0031
0032 void SetCode(const unsigned int code_index=1,const int code=-1);
0033
0034
0035 unsigned int Code(const unsigned int index=1) const;
0036
0037
0038 int Index(const unsigned int code) const;
0039
0040 void SwapColourIndices();
0041
0042 inline static void ResetCounter() { s_qcd_counter=600; }
0043 inline static unsigned int Counter() { return ++s_qcd_counter; }
0044
0045 };
0046
0047 }
0048
0049 #endif