Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:45

0001 #ifndef AMEGIC_Amplitude_Amplitude_Base_H
0002 #define AMEGIC_Amplitude_Amplitude_Base_H
0003 
0004 #include "ATOOLS/Math/MyComplex.H"
0005 #include "ATOOLS/Phys/Flavour.H"
0006 #include "AMEGIC++/Amplitude/Zfunc.H"
0007 
0008 namespace AMEGIC {
0009 
0010   class String_Handler;
0011   class Point;
0012   class Basic_Sfuncs;
0013 
0014   class Amplitude_Base {
0015   protected:
0016     int buildstring;
0017   public:
0018     int on;
0019     int     topnum, permnum;
0020     virtual ~Amplitude_Base() {} 
0021     virtual void    PrintGraph() = 0; 
0022     virtual Complex Zvalue(int) = 0;
0023     virtual Complex Zvalue(int,int*) = 0;
0024     virtual Complex Zvalue(String_Handler * sh,int ihel) =0;
0025     virtual void    ClearCalcList() = 0;
0026     virtual void    KillZList() = 0;
0027     virtual void    FillCoupling(String_Handler*) {};
0028     virtual void SetNumber(int&) = 0;
0029     virtual Amplitude_Base* operator[](const int i) { return this; }
0030     virtual Amplitude_Base* GetAmplitude(const int) = 0;
0031     virtual int  GetNumber() { return 0; }
0032     virtual bool IsGroup() { return false; }
0033 
0034     virtual void SetStringOn();  
0035     virtual void SetStringOff(); 
0036     virtual Point*  GetPointlist(); 
0037     virtual void Add(Amplitude_Base*, int sign=1);
0038     virtual int Size();
0039 
0040     virtual Zfunc_List* GetZlist();
0041     virtual Pfunc_List* GetPlist(); 
0042 
0043     virtual int GetSign();
0044     virtual void SetSign(int);
0045 
0046     virtual void BuildGlobalString(int*,int,Basic_Sfuncs*,ATOOLS::Flavour*,String_Handler*);
0047 
0048     virtual void DefineOrder(const std::vector<int> &o);
0049     virtual const std::vector<int> &GetOrder();
0050   };
0051 }
0052 #endif
0053 
0054 
0055 
0056 
0057 
0058 
0059 
0060 
0061 
0062 
0063 
0064