GENIEGenerator
Loading...
Searching...
No Matches
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
32
33namespace genie {
34
36class XSecAlgorithmI;
37
39
40public :
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
49protected:
50
51 //-- dummy ctors & dtor
53 EventGeneratorI(string name);
54 EventGeneratorI(string name, string config);
55};
56
57} // genie namespace
58
59#endif // _EVENT_GENERATOR_I_H_
virtual const InteractionListGeneratorI * IntListGenerator(void) const =0
virtual const GVldContext & ValidityContext(void) const =0
virtual const XSecAlgorithmI * CrossSectionAlg(void) const =0
Validity Context for an Event Generator.
Definition GVldContext.h:37
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25