Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef EXTAMP_Main_Process_Group_H
0002 #define EXTAMP_Main_Process_Group_H
0003 
0004 #include "PHASIC++/Process/Process_Group.H"
0005 
0006 namespace EXTAMP {
0007 
0008   class Process_Group: public PHASIC::Process_Group {
0009 
0010 
0011     /* Pure virtuals from PHASIC::Process_Group */
0012 
0013     /* Instantiate a PARTONIC process (i.e. pi specifies a
0014        'Single_Process'). This being a method of a 'Process_Group'
0015        does not make any sense, but need comply with legacy structure.
0016        Just call the appropriate method of the external ME
0017        interface. */
0018     
0019     PHASIC::Process_Base *GetProcess(const PHASIC::Process_Info &pi) const {
0020       /* This returns NULL if the partonic channel does not exist, as
0021      required by PHASIC::Process_Group. */
0022 
0023       PHASIC::Process_Info cpi(pi);
0024       if(!External_ME_Interface::PartonicProcessExists(cpi)) return NULL;
0025       return External_ME_Interface::InstantiatePartonicProcess(cpi);
0026     }
0027 
0028     bool Initialize(Process_Base *const proc)
0029     {
0030       proc->SetParent((PHASIC::Process_Base*)this);
0031       return true;
0032     };
0033 
0034   };
0035 
0036   
0037 }
0038 #endif