File indexing completed on 2025-04-19 09:09:46
0001 #ifndef AMEGIC_Main_Point_H
0002 #define AMEGIC_Main_Point_H
0003
0004 #include "MODEL/Main/Model_Base.H"
0005 #include "AMEGIC++/Amplitude/Single_Vertex.H"
0006 #include "AMEGIC++/Amplitude/Lorentz_Function.H"
0007
0008 namespace AMEGIC {
0009
0010 class Point {
0011
0012 void ResetProps(int&);
0013 public:
0014 int number;
0015 int b;
0016 int t;
0017 int zwf;
0018 int m;
0019 int propid;
0020 ATOOLS::Flavour fl;
0021 Point * left;
0022 Point * right;
0023 Point * middle;
0024 Point * prev;
0025 AMEGIC::Single_Vertex * v;
0026 std::vector<Complex> cpl;
0027 MODEL::Color_Function * Color;
0028 MODEL::Lorentz_Function * Lorentz;
0029
0030 Point(int extra = 0);
0031 Point(const Point& copy);
0032
0033 Point& operator=(const Point& p);
0034
0035 ~Point() {
0036 if (Color) delete Color;
0037 if (Lorentz) Lorentz->Delete();
0038 }
0039 void ResetExternalNumbers(int);
0040 void ResetProps();
0041 void ResetFlag();
0042 Point* CopyList(Point* p);
0043 size_t Ncpl() const {return cpl.size();}
0044 int CountKK();
0045 bool CountT(int & tchan,const long unsigned int & kfcode=0);
0046 void GeneratePropID();
0047 std::string GetPropID() const;
0048 void FindOrder(std::vector<int> &);
0049 };
0050
0051 std::ostream &operator<<(std::ostream &str,const Point &p);
0052 }
0053 #endif
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065