GENIEGenerator
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Framework
EventGen
EventGenerator.h
Go to the documentation of this file.
1
//____________________________________________________________________________
2
/*!
3
4
\class genie::EventGenerator
5
6
\brief Encapsulates a full ordered list of (is the aggregate of) concrete
7
EventGeneratorI implementations that must act on the EventRecord
8
to generate an event. Each of these implementations corresponds to
9
a single processing step.
10
11
Is a concrete implementation of the EventGeneratorI interface.
12
13
\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
14
University of Liverpool
15
16
\created October 03, 2004
17
18
\cpright Copyright (c) 2003-2024, The GENIE Collaboration
19
For the full text of the license visit http://copyright.genie-mc.org
20
*/
21
//____________________________________________________________________________
22
23
#ifndef _EVENT_GENERATOR_H_
24
#define _EVENT_GENERATOR_H_
25
26
#include <vector>
27
28
#include "
Framework/EventGen/EventGeneratorI.h
"
29
#include "
Framework/GHEP/GHepRecordHistory.h
"
30
31
class
TStopwatch;
32
class
TBits;
33
34
using
std::vector;
35
36
namespace
genie {
37
38
class
EventGenerator
:
public
EventGeneratorI
{
39
40
public
:
41
EventGenerator
();
42
EventGenerator
(
string
config);
43
~EventGenerator
();
44
45
//-- implement the original EventRecordVisitorI interface
46
void
ProcessEventRecord
(
GHepRecord
* event_rec)
const
;
47
48
//-- implement the extensions to the EventRecordVisitorI interface
49
const
GVldContext
&
ValidityContext
(
void
)
const
;
50
const
InteractionListGeneratorI
*
IntListGenerator
(
void
)
const
;
51
const
XSecAlgorithmI
*
CrossSectionAlg
(
void
)
const
;
52
53
//-- override the Algorithm::Configure methods to load configuration
54
// data to private data members
55
void
Configure
(
const
Registry
& config);
56
void
Configure
(
string
param_set);
57
58
private
:
59
60
void
Init
(
void
);
61
void
LoadConfig
(
void
);
62
63
//-- private data members
64
vector<const EventRecordVisitorI *> *
fEVGModuleVec
;
///< list of modules
65
vector<double> *
fEVGTime
;
///< module timing info
66
const
XSecAlgorithmI
*
fXSecModel
;
///< xsec model for events handled by thread
67
const
InteractionListGeneratorI
*
fIntListGen
;
///< generates list of handled interactions
68
GVldContext
*
fVldContext
;
///< validity context
69
TStopwatch *
fWatch
;
///< stopwatch for module timing
70
TBits *
fFiltUnphysMask
;
///< mask for allowing unphysical events to pass through (if requested)
71
mutable
GHepRecordHistory
fRecHistory
;
///< event record history
72
};
73
74
}
// genie namespace
75
76
#endif // _EVENT_GENERATOR_H_
genie::XSecAlgorithmI
Cross Section Calculation Interface.
Definition:
XSecAlgorithmI.h:27
genie::EventGenerator::EventGenerator
EventGenerator()
Definition:
EventGenerator.cxx:42
genie::EventGenerator::fRecHistory
GHepRecordHistory fRecHistory
event record history
Definition:
EventGenerator.h:71
genie::GHepRecordHistory
Holds the history of the GHEP event record as it being modified by the processing steps of an event g...
Definition:
GHepRecordHistory.h:40
genie::EventGenerator::fFiltUnphysMask
TBits * fFiltUnphysMask
mask for allowing unphysical events to pass through (if requested)
Definition:
EventGenerator.h:70
genie::EventGenerator::IntListGenerator
const InteractionListGeneratorI * IntListGenerator(void) const
Definition:
EventGenerator.cxx:197
genie::InteractionListGeneratorI
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
Definition:
InteractionListGeneratorI.h:31
EventGeneratorI.h
genie::EventGenerator
Encapsulates a full ordered list of (is the aggregate of) concrete EventGeneratorI implementations th...
Definition:
EventGenerator.h:38
genie::EventGeneratorI
Defines the EventGeneratorI interface.
Definition:
EventGeneratorI.h:38
genie::EventGenerator::ProcessEventRecord
void ProcessEventRecord(GHepRecord *event_rec) const
Definition:
EventGenerator.cxx:64
genie::EventGenerator::fEVGTime
vector< double > * fEVGTime
module timing info
Definition:
EventGenerator.h:65
genie::EventGenerator::fWatch
TStopwatch * fWatch
stopwatch for module timing
Definition:
EventGenerator.h:69
genie::EventGenerator::Configure
void Configure(const Registry &config)
Definition:
EventGenerator.cxx:207
genie::EventGenerator::fVldContext
GVldContext * fVldContext
validity context
Definition:
EventGenerator.h:68
genie::EventGenerator::Init
void Init(void)
Definition:
EventGenerator.cxx:227
genie::EventGenerator::LoadConfig
void LoadConfig(void)
Definition:
EventGenerator.cxx:255
genie::Registry
A registry. Provides the container for algorithm configuration parameters.
Definition:
Registry.h:65
genie::EventGenerator::fEVGModuleVec
vector< const EventRecordVisitorI * > * fEVGModuleVec
list of modules
Definition:
EventGenerator.h:64
genie::EventGenerator::~EventGenerator
~EventGenerator()
Definition:
EventGenerator.cxx:54
genie::EventGenerator::ValidityContext
const GVldContext & ValidityContext(void) const
Definition:
EventGenerator.cxx:222
genie::EventGenerator::CrossSectionAlg
const XSecAlgorithmI * CrossSectionAlg(void) const
Definition:
EventGenerator.cxx:202
genie::GHepRecord
GENIE's GHEP MC event record.
Definition:
GHepRecord.h:45
genie::EventGenerator::fIntListGen
const InteractionListGeneratorI * fIntListGen
generates list of handled interactions
Definition:
EventGenerator.h:67
genie::GVldContext
Validity Context for an Event Generator.
Definition:
GVldContext.h:37
genie::EventGenerator::fXSecModel
const XSecAlgorithmI * fXSecModel
xsec model for events handled by thread
Definition:
EventGenerator.h:66
GHepRecordHistory.h
Generated on Wed Jul 17 2024 14:46:39 for GENIEGenerator by
1.8.5