cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
Generator Class Reference

Core generator object allowing for process definition, cross-section computation, and event generation. More...

#include <include/CepGen/Generator.h>

Public Member Functions

 Generator (bool safe_mode=false)
 Initialise the Monte Carlo integrator and event generator.
 
 Generator (RunParameters *)
 Build an MC generator object.
 
 ~Generator ()
 
void parseRunParameters (const std::string &)
 Read a steering card to populate the run parameters block.
 
const RunParametersrunParameters () const
 Pointer to the parameters block.
 
RunParametersrunParameters ()
 Run parameters block.
 
void setRunParameters (std::unique_ptr< RunParameters > &)
 Feed the generator with a RunParameters object.
 
void setIntegrator (std::unique_ptr< Integrator >)
 Specify an integrator algorithm configuration.
 
Integratorintegrator () const
 Retrieve the integrator object.
 
void integrate ()
 Integrate the functional over the phase space of interest.
 
Value computeXsection ()
 Compute the cross-section and uncertainty, in pb, for the run parameters Compute the cross-section for the run parameters.
 
void computeXsection (double &cross_section, double &err)
 
double crossSection () const
 Last cross-section computed by the generator.
 
double crossSectionError () const
 Last error on the cross-section computed.
 
void generate (size_t num_events, const std::function< void(const Event &, size_t)> &)
 Generate events.
 
void generate (size_t num_events, const std::function< void(const proc::Process &)> &=nullptr)
 Generate events.
 
const Eventnext ()
 Generate one single event.
 
double computePoint (const std::vector< double > &coordinates)
 Compute one single point from the total phase space.
 

Detailed Description

Author
Laurent Forthomme laure.nosp@m.nt.f.nosp@m.ortho.nosp@m.mme@.nosp@m.cern..nosp@m.ch
Date
Feb 2013

Definition at line 50 of file Generator.h.

Constructor & Destructor Documentation

◆ Generator() [1/2]

Generator ( bool safe_mode = false)
explicit
Parameters
[in]safe_modeLoad the generator without external libraries?

◆ Generator() [2/2]

Generator ( RunParameters * )
explicit

◆ ~Generator()

~Generator ( )

Member Function Documentation

◆ computePoint()

double computePoint ( const std::vector< double > & coordinates)
Parameters
[in]coordinatesthe n-dimensional point to compute
Returns
the function value for the given point

◆ computeXsection() [1/2]

Value computeXsection ( )
Parameters
[out]cross_sectionThe computed cross-section, in pb
[out]errThe absolute integration error on the computed cross-section, in pb

◆ computeXsection() [2/2]

void computeXsection ( double & cross_section,
double & err )

◆ crossSection()

double crossSection ( ) const

Definition at line 72 of file Generator.h.

◆ crossSectionError()

double crossSectionError ( ) const

Definition at line 73 of file Generator.h.

◆ generate() [1/2]

void generate ( size_t num_events,
const std::function< void(const Event &, size_t)> &  )

◆ generate() [2/2]

void generate ( size_t num_events,
const std::function< void(const proc::Process &)> & = nullptr )

◆ integrate()

void integrate ( )

◆ integrator()

Integrator & integrator ( ) const

◆ next()

const Event & next ( )

◆ parseRunParameters()

void parseRunParameters ( const std::string & )

◆ runParameters() [1/2]

RunParameters & runParameters ( )

◆ runParameters() [2/2]

const RunParameters & runParameters ( ) const

◆ setIntegrator()

void setIntegrator ( std::unique_ptr< Integrator > )

◆ setRunParameters()

void setRunParameters ( std::unique_ptr< RunParameters > & )