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
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-2024, 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_
genie::XSecAlgorithmI
Cross Section Calculation Interface.
Definition:
XSecAlgorithmI.h:27
genie::InteractionListGeneratorI
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
Definition:
InteractionListGeneratorI.h:31
genie::EventRecordVisitorI
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the 'Visito...
Definition:
EventRecordVisitorI.h:29
GVldContext.h
EventRecordVisitorI.h
genie::EventGeneratorI
Defines the EventGeneratorI interface.
Definition:
EventGeneratorI.h:38
genie::EventGeneratorI::EventGeneratorI
EventGeneratorI()
Definition:
EventGeneratorI.cxx:16
genie::EventGeneratorI::ValidityContext
virtual const GVldContext & ValidityContext(void) const =0
genie::EventGeneratorI::~EventGeneratorI
virtual ~EventGeneratorI()
Definition:
EventGeneratorI.cxx:34
genie::EventGeneratorI::CrossSectionAlg
virtual const XSecAlgorithmI * CrossSectionAlg(void) const =0
genie::EventGeneratorI::IntListGenerator
virtual const InteractionListGeneratorI * IntListGenerator(void) const =0
genie::GVldContext
Validity Context for an Event Generator.
Definition:
GVldContext.h:37
Generated on Wed Jul 17 2024 14:46:39 for GENIEGenerator by
1.8.5