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;
0019 int ic, oc, mc;
0020 std::vector<std::string> ins;
0021 std::vector<std::string> outs;
0022 std::vector<std::string> meds;
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