Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
Generator
src
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 <constantinos.andreopoulos \at cern.ch>
17
University of Liverpool & STFC Rutherford Appleton Laboratory
18
19
\created November 22, 2004
20
21
\cpright Copyright (c) 2003-2020, 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_
name
static QCString name
Definition:
declinfo.cpp:673
genie::XSecAlgorithmI
Cross Section Calculation Interface.
Definition:
XSecAlgorithmI.h:27
genie
THE MAIN GENIE PROJECT NAMESPACE
Definition:
AlgCmp.h:25
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
genie::EventGeneratorI::IntListGenerator
virtual const InteractionListGeneratorI * IntListGenerator(void) const =0
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
config
static Config * config
Definition:
config.cpp:1054
genie::EventGeneratorI::~EventGeneratorI
virtual ~EventGeneratorI()
Definition:
EventGeneratorI.cxx:34
genie::EventGeneratorI::CrossSectionAlg
virtual const XSecAlgorithmI * CrossSectionAlg(void) const =0
genie::GVldContext
Validity Context for an Event Generator.
Definition:
GVldContext.h:37
Generated by
1.8.11