Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef AMEGIC_Amplitude_Amplitude_Output_H
0002 #define AMEGIC_Amplitude_Amplitude_Output_H
0003 
0004 #include <fstream>
0005 #include <string> 
0006 #include "AMEGIC++/Main/Point.H"
0007 #include "AMEGIC++/Main/Topology.H"
0008 
0009 namespace AMEGIC {
0010 
0011   class Amplitude_Output {
0012     int counter;
0013     int maincounter;
0014     int subcounter;
0015     bool super_amplitude;
0016     std::ofstream  pios;
0017     int m_graphmode;
0018     int nin, nout, nmed;   // total
0019     int ic, oc, mc;        // counters
0020     std::vector<std::string> ins;    // incomming points 
0021     std::vector<std::string> outs;   // outgoin points
0022     std::vector<std::string> meds;   // intermediate points
0023 
0024     std::vector<std::string> captions;
0025 
0026     Topology * top;
0027     Point    * ampl;
0028 
0029     std::string Int2String(const int);
0030     void LegCount(Point * mo);
0031     void DrawLine(std::string from, Point * d, bool flip);
0032     int InclInComming(Point * mo);
0033     void WriteHeader(const std::string &name);
0034   public:
0035     Amplitude_Output(std::string pid, Topology * _top,
0036                      std::string gpath, int gmode=0);
0037     void WriteOut(Point *);
0038     ~Amplitude_Output();
0039     void BeginSuperAmplitude();
0040     void EndSuperAmplitude();
0041   };
0042 
0043   inline void Amplitude_Output::BeginSuperAmplitude() { super_amplitude=true; subcounter=0;}
0044   inline void Amplitude_Output::EndSuperAmplitude() { super_amplitude=false; if (m_graphmode==1) ++maincounter;}
0045 }
0046 
0047 #endif