GENIEGenerator
Loading...
Searching...
No Matches
Framework
EventGen
EventGeneratorI.h
Go to the documentation of this file.
1
//____________________________________________________________________________
2
/*!
3
4
\class genie::EventGeneratorI
5
6
\brief Defines the EventGeneratorI interface.
7
8
The concrete implementations of this interface are Event Record
9
Visitors (subclasses of the EventRecordVisitorI pABC) that,
10
additionally, declare a 'Validity Context'. \n
11
12
The declared validity context is used for selecting the appropriate
13
concrete EventGeneratorI to generate the interacion at hand using
14
the 'chain-of-responsibility' design pattern.
15
16
\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
17
University of Liverpool
18
19
\created November 22, 2004
20
21
\cpright Copyright (c) 2003-2025, The GENIE Collaboration
22
For the full text of the license visit http://copyright.genie-mc.org
23
*/
24
//____________________________________________________________________________
25
26
27
#ifndef _EVENT_GENERATOR_I_H_
28
#define _EVENT_GENERATOR_I_H_
29
30
#include "
Framework/EventGen/EventRecordVisitorI.h
"
31
#include "
Framework/EventGen/GVldContext.h
"
32
33
namespace
genie
{
34
35
class
InteractionListGeneratorI
;
36
class
XSecAlgorithmI
;
37
38
class
EventGeneratorI
:
public
EventRecordVisitorI
{
39
40
public :
41
42
virtual
~EventGeneratorI
();
43
44
//-- define an extension to the public EventRecordVisitorI interface
45
virtual
const
GVldContext
&
ValidityContext
(
void
)
const
= 0;
46
virtual
const
InteractionListGeneratorI
*
IntListGenerator
(
void
)
const
= 0;
47
virtual
const
XSecAlgorithmI
*
CrossSectionAlg
(
void
)
const
= 0;
48
49
protected
:
50
51
//-- dummy ctors & dtor
52
EventGeneratorI
();
53
EventGeneratorI
(
string
name);
54
EventGeneratorI
(
string
name,
string
config);
55
};
56
57
}
// genie namespace
58
59
#endif
// _EVENT_GENERATOR_I_H_
EventRecordVisitorI.h
GVldContext.h
genie::EventGeneratorI::IntListGenerator
virtual const InteractionListGeneratorI * IntListGenerator(void) const =0
genie::EventGeneratorI::~EventGeneratorI
virtual ~EventGeneratorI()
Definition
EventGeneratorI.cxx:34
genie::EventGeneratorI::ValidityContext
virtual const GVldContext & ValidityContext(void) const =0
genie::EventGeneratorI::CrossSectionAlg
virtual const XSecAlgorithmI * CrossSectionAlg(void) const =0
genie::EventGeneratorI::EventGeneratorI
EventGeneratorI()
Definition
EventGeneratorI.cxx:16
genie::EventRecordVisitorI::EventRecordVisitorI
EventRecordVisitorI()
Definition
EventRecordVisitorI.cxx:16
genie::GVldContext
Validity Context for an Event Generator.
Definition
GVldContext.h:37
genie::InteractionListGeneratorI
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
Definition
InteractionListGeneratorI.h:31
genie::XSecAlgorithmI
Cross Section Calculation Interface.
Definition
XSecAlgorithmI.h:27
genie
THE MAIN GENIE PROJECT NAMESPACE
Definition
AlgCmp.h:25
Generated on
for GENIEGenerator by
1.14.0