#ifndef PHASIC__Channels__Channel_Generator_H #define PHASIC__Channels__Channel_Generator_H #include "ATOOLS/Org/Getter_Function.H" namespace PHASIC { class Process_Base; class Multi_Channel; struct Channel_Generator_Key { std::string m_key; Process_Base * p_proc; Multi_Channel *p_mc; Channel_Generator_Key(const std::string &key, Process_Base *const proc, Multi_Channel *const mc): m_key(key), p_proc(proc), p_mc(mc) {} };// end of struct Channel_Generator_Key class Channel_Generator { protected: Multi_Channel *p_mc; Process_Base *p_proc; public: typedef ATOOLS::Getter_Function Getter_Function; public: inline Channel_Generator(const Channel_Generator_Key &key): p_mc(key.p_mc), p_proc(key.p_proc) {} virtual ~Channel_Generator(); virtual int GenerateChannels() = 0; static void ShowSyntax(const int mode); };// end of class Channel_Generator }// end of namespace PHASIC #endif