File indexing completed on 2025-04-19 09:09:45
0001 #ifndef AMEGIC_Amplitude_Single_Amplitude_H
0002 #define AMEGIC_Amplitude_Single_Amplitude_H
0003
0004 #include "ATOOLS/Phys/Flavour.H"
0005 #include "AMEGIC++/Main/Point.H"
0006 #include "AMEGIC++/Main/Topology.H"
0007 #include "AMEGIC++/Amplitude/Zfunctions/Basic_Sfuncs.H"
0008 #include "AMEGIC++/Amplitude/Zfunc.H"
0009 #include "AMEGIC++/String/String_Handler.H"
0010 #include "MODEL/Main/Color_Function.H"
0011 #include "AMEGIC++/Amplitude/Single_Amplitude_Base.H"
0012
0013 namespace AMEGIC {
0014 class Process_Tags;
0015 class Single_Amplitude: public Single_Amplitude_Base {
0016
0017 Point* Pointlist;
0018 MODEL::Color_Function* CFlist;
0019 MODEL::Color_Function* CCFlist;
0020 SpinorDirection* spind;
0021 int icoul;
0022 public:
0023 std::string CFColstring;
0024 std::string CFColstringC;
0025 void Set_Coulomb() {icoul = 1;}
0026 int Get_Coulomb() {return icoul;}
0027 Single_Amplitude* Next;
0028 Single_Amplitude(Point*,int,int,int*,int,int,Topology*,Basic_Sfuncs*,ATOOLS::Flavour*,String_Handler*);
0029 Single_Amplitude(Point*,int*,int,int,Topology*,Basic_Sfuncs*,ATOOLS::Flavour*,String_Handler*);
0030 Single_Amplitude(int*,int,Process_Tags*,Single_Amplitude**,Basic_Sfuncs*,ATOOLS::Flavour*,String_Handler*);
0031 ~Single_Amplitude();
0032 void PrintGraph();
0033 void Zprojecting(ATOOLS::Flavour*,int,bool,bool);
0034 void FillCoupling(String_Handler*);
0035 void MPolconvert(int,int);
0036 void Prop_Replace(ATOOLS::Flavour,int,int,int);
0037 Point* GetPointlist();
0038 inline MODEL::Color_Function* Get_CFlist() {return CFlist;}
0039 inline MODEL::Color_Function* Get_CCFlist() {return CCFlist;}
0040
0041 void AddSpinorDirection(const int&,const int&);
0042
0043 void SetOrder();
0044
0045 const std::vector<int> &GetOrder();
0046
0047 };
0048
0049 std::ostream & operator<<(std::ostream &s,const Single_Amplitude &samp);
0050 }
0051 #endif
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063