#ifndef AMEGIC_Main_Point_H #define AMEGIC_Main_Point_H #include "MODEL/Main/Model_Base.H" #include "AMEGIC++/Amplitude/Single_Vertex.H" #include "AMEGIC++/Amplitude/Lorentz_Function.H" namespace AMEGIC { class Point { void ResetProps(int&); public: int number; int b; int t; // t=10: intermediate particle in decay treatment int zwf; int m; int propid; ATOOLS::Flavour fl; Point * left; Point * right; Point * middle; Point * prev; AMEGIC::Single_Vertex * v; std::vector<Complex> cpl; MODEL::Color_Function * Color; MODEL::Lorentz_Function * Lorentz; Point(int extra = 0); Point(const Point& copy); Point& operator=(const Point& p); ~Point() { if (Color) delete Color; if (Lorentz) Lorentz->Delete(); } void ResetExternalNumbers(int); void ResetProps(); void ResetFlag(); Point* CopyList(Point* p); size_t Ncpl() const {return cpl.size();} int CountKK(); bool CountT(int & tchan,const long unsigned int & kfcode=0); void GeneratePropID(); std::string GetPropID() const; void FindOrder(std::vector<int> &); }; std::ostream &operator<<(std::ostream &str,const Point &p); } #endif