File indexing completed on 2025-04-19 09:09:45
0001 #ifndef AMEGIC_Amplitude_Super_Amplitude_H
0002 #define AMEGIC_Amplitude_Super_Amplitude_H
0003
0004 #include "AMEGIC++/Amplitude/Amplitude_Group.H"
0005 #include "AMEGIC++/Amplitude/Single_Amplitude_Base.H"
0006
0007 namespace AMEGIC {
0008 class Super_Amplitude: public Amplitude_Group, public Single_Amplitude_Base {
0009 std::string str;
0010
0011 int FindNewNumber(int);
0012 void ReduceZfuncs(std::string);
0013 int NewSigns(std::vector<std::vector<int> > & zsignlists);
0014 void SetZfuncSign();
0015 public:
0016 Super_Amplitude(int* _b,int _n,Basic_Sfuncs* _BS,
0017 ATOOLS::Flavour* _fl,String_Handler* _shand);
0018 ~Super_Amplitude();
0019 void Init(std::string);
0020
0021 void PrintGraph();
0022 void FillCoupling(String_Handler * shand) {Amplitude_Group::FillCoupling(shand);}
0023 void Add(Amplitude_Base * ab) {Amplitude_Group::Add(ab);}
0024
0025 Complex Zvalue(String_Handler * sh,int ihel);
0026 Complex Zvalue(int ihel,int * signlist);
0027 Complex Zvalue(int ihel);
0028 void ClearCalcList();
0029 void KillZList();
0030 void SetNumber(int & n);
0031 Zfunc_List* GetZlist();
0032
0033 Amplitude_Base* GetAmplitude(const int n) {return (n==amplnumber) ? this : 0;}
0034 int GetNumber() { return amplnumber; }
0035
0036 const std::vector<int> &GetOrder();
0037 };
0038 }
0039 #endif
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051