Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef AMEGIC_Phasespace_Channel_Generator_Base_H
0002 #define AMEGIC_Phasespace_Channel_Generator_Base_H
0003 
0004 #include "PHASIC++/Channels/Single_Channel.H"
0005 #include <string>
0006 #include <vector>
0007 #include <map>
0008 
0009 
0010 namespace AMEGIC {
0011 
0012 typedef std::map<std::string,std::string> Decls;
0013   class Point;
0014   
0015   typedef std::vector<std::string> String_List;
0016 
0017   class Channel_Generator_Base {  //: public PHASIC::Single_Channel {
0018   protected:
0019     int         nin,nout,m_valid;
0020     Point     * plist;
0021     std::string GetMassIndex(std::string &str);
0022     std::string GetMassIndex(char &str);
0023   public:
0024     Channel_Generator_Base(int,int,Point *);
0025     virtual ~Channel_Generator_Base();
0026     virtual int  MakeChannel(int&,int,std::string&,std::string&) = 0;
0027     Point     * GetPointlist()             { return plist; }
0028     //void        SetName(std::string _name) { name = _name; }
0029     virtual std::string CreateChannelID(int) = 0;
0030     virtual int NumberOfChannels()         { return 1; }
0031     inline int Valid() const { return m_valid; }
0032   };
0033 }  
0034 #endif
0035