GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InteractionGeneratorMap.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::InteractionGeneratorMap
5 
6 \brief An Interaction -> EventGeneratorI associative container.
7  The container is being built for the loaded EventGeneratorList and for
8  the input InitialState object and is being used to locate the generator
9  that can generate aany given interaction.
10 
11 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
12  University of Liverpool
13 
14 \created January 23, 2006
15 
16 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _INTERACTION_GENERATOR_MAP_H_
22 #define _INTERACTION_GENERATOR_MAP_H_
23 
24 #include <map>
25 #include <string>
26 #include <ostream>
27 
29 
30 using std::map;
31 using std::string;
32 using std::ostream;
33 
34 namespace genie {
35 
36 class InteractionGeneratorMap;
37 class EventGeneratorI;
38 class InteractionList;
39 class InitialState;
40 class EventGeneratorList;
41 
42 ostream & operator << (ostream & stream, const InteractionGeneratorMap & xsmap);
43 
44 class InteractionGeneratorMap : public map<string, const EventGeneratorI *> {
45 
46 public :
50 
51  void UseGeneratorList (const EventGeneratorList * list);
52  void BuildMap (const InitialState & init_state);
53 
54  const EventGeneratorI * FindGenerator (const Interaction * in) const;
55  const InteractionList & GetInteractionList (void) const;
56 
57  void Reset (void);
58  void Copy (const InteractionGeneratorMap & xsmap);
59  void Print (ostream & stream) const;
60 
62  friend ostream & operator << (ostream & stream, const InteractionGeneratorMap & xsmap);
63 
64 private:
65 
66  void Init (void);
67  void CleanUp (void);
68 
70 
73 };
74 
75 } // genie namespace
76 
77 #endif // _INTERACTION_GENERATOR_MAP_H_
const EventGeneratorList * fEventGeneratorList
InteractionGeneratorMap & operator=(const InteractionGeneratorMap &xsmap)
const EventGeneratorI * FindGenerator(const Interaction *in) const
Defines the EventGeneratorI interface.
void Copy(const InteractionGeneratorMap &xsmap)
void Print(ostream &stream) const
Summary information for an interaction.
Definition: Interaction.h:56
An Interaction -&gt; EventGeneratorI associative container. The container is being built for the loaded ...
void BuildMap(const InitialState &init_state)
const InteractionList & GetInteractionList(void) const
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)
A vector of Interaction objects.
A vector of EventGeneratorI objects.
friend ostream & operator<<(ostream &stream, const InteractionGeneratorMap &xsmap)
void UseGeneratorList(const EventGeneratorList *list)
Initial State information.
Definition: InitialState.h:48