cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
ProcessFactory.h File Reference
+ Include dependency graph for ProcessFactory.h:

Go to the source code of this file.

Namespaces

namespace  cepgen
 Common namespace for this Monte Carlo generator.
 
namespace  cepgen::proc
 Location for all physics processes to be generated.
 

Macros

#define REGISTER_PROCESS(name, obj)
 Add a process definition to the list of handled processes.
 
#define PROCESS_F77_NAME(name)   F77_##name
 Name of the process (Fortran scope)
 
#define STRINGIFY(name)   #name
 Convert a token into a string.
 
#define REGISTER_FORTRAN_PROCESS(name, descr, f77_func)
 Add the Fortran process definition to the list of handled processes.
 

Functions

 DEFINE_FACTORY (ProcessFactory, proc::Process, "Physics processes factory")
 A processes factory.
 

Macro Definition Documentation

◆ PROCESS_F77_NAME

#define PROCESS_F77_NAME ( name)    F77_##name

Definition at line 36 of file ProcessFactory.h.

◆ REGISTER_FORTRAN_PROCESS

#define REGISTER_FORTRAN_PROCESS ( name,
descr,
f77_func )
Value:
extern "C" { \
extern double f77_func##_(); \
} \
struct PROCESS_F77_NAME(name) : cepgen::proc::FortranFactorisedProcess { \
: cepgen::proc::FortranFactorisedProcess(params, f77_func##_) { \
} \
desc.setDescription(descr); \
return desc; \
} \
}; \
REGISTER_PROCESS(STRINGIFY(name), F77_##name)
#define PROCESS_F77_NAME(name)
Name of the process (Fortran scope)
#define STRINGIFY(name)
Convert a token into a string.
A description object for parameters collection.
static ParametersDescription description()
Description of all object parameters.
static ParametersDescription description()
Compute the matrix element for a generic factorised process defined in a Fortran weighting function.
Common namespace for this Monte Carlo generator.
Definition Handler.h:26

Definition at line 40 of file ProcessFactory.h.

◆ REGISTER_PROCESS

#define REGISTER_PROCESS ( name,
obj )
Value:
namespace cepgen { \
namespace proc { \
struct BUILDER_NAME(obj) { \
BUILDER_NAME(obj)() { ProcessFactory::get().registerModule<obj>(name); } \
}; \
static const BUILDER_NAME(obj) gProc##obj; \
} \
} \
static_assert(true, "")
#define BUILDER_NAME(obj)
Name of the object builder.

Definition at line 25 of file ProcessFactory.h.

◆ STRINGIFY

#define STRINGIFY ( name)    #name

Definition at line 38 of file ProcessFactory.h.