Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:08

0001 #ifndef PHASIC_Channels_Channel_Interface_H
0002 #define PHASIC_Channels_Channel_Interface_H
0003 
0004 #include "PHASIC++/Channels/Single_Channel.H"
0005 
0006 namespace PHASIC {
0007 
0008   class Channel_Interface : public Single_Channel {
0009   protected:
0010 
0011     double E, Ehat, s, smax, pt2, pt2max, pt2min, pt, mass, width;
0012 
0013     int type, chnumber;
0014 
0015   public :
0016 
0017     // constructor
0018     Channel_Interface(int nin,int nout,ATOOLS::Flavour *flavour,
0019               ATOOLS::Flavour res=ATOOLS::Flavour(kf_none)); 
0020 
0021     // setter
0022     void SetChNumber(int _chnumber) { chnumber = _chnumber; }
0023 
0024     // getters
0025     void ISRInfo(int &type,double &mass,double &width);
0026     int  ChNumber();
0027 
0028     // member functions
0029     virtual void GeneratePoint(ATOOLS::Vec4D *p,double *ran);
0030     virtual void GenerateWeight(ATOOLS::Vec4D *p);
0031 
0032     inline void GeneratePoint(ATOOLS::Vec4D *p,
0033                   Cut_Data *cuts,double *ran)       { GeneratePoint(p,ran); } 
0034     inline void GenerateWeight(ATOOLS::Vec4D *p,Cut_Data *cuts) { GenerateWeight(p);    }
0035 
0036   };// end of class Channel_Interface
0037 
0038 }//end of namespace PHASIC
0039 
0040 #endif