XSecAlgorithmMap.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::XSecAlgorithmMap
5 
6 \brief An Interaction -> XSecAlgorithmI associative container. The container
7  is being built for the loaded EventGeneratorList and for the input
8  InitialState object.
9 
10 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
11  University of Liverpool & STFC Rutherford Appleton Laboratory
12 
13 \created January 23, 2006
14 
15 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _XSEC_ALGORITHM_MAP_H_
21 #define _XSEC_ALGORITHM_MAP_H_
22 
23 #include <map>
24 #include <string>
25 #include <ostream>
26 
27 using std::map;
28 using std::string;
29 using std::ostream;
30 
31 namespace genie {
32 
33 class XSecAlgorithmMap;
34 class XSecAlgorithmI;
35 class Interaction;
36 class InteractionList;
37 class InitialState;
38 class EventGeneratorList;
39 
40 ostream & operator << (ostream & stream, const XSecAlgorithmMap & xsmap);
41 
42 class XSecAlgorithmMap : public map<string, const XSecAlgorithmI *> {
43 
44 public :
45 
47  XSecAlgorithmMap(const XSecAlgorithmMap & xsmap);
49 
50  void UseGeneratorList (const EventGeneratorList * list);
51  void BuildMap (const InitialState & init_state);
52 
53  const XSecAlgorithmI * FindXSecAlgorithm (const Interaction * in) const;
54  const InteractionList & GetInteractionList (void) const;
55 
56  void Reset (void);
57  void Copy (const XSecAlgorithmMap & xsmap);
58  void Print (ostream & stream) const;
59 
61  friend ostream & operator << (ostream & stream, const XSecAlgorithmMap & xsmap);
62 
63 private:
64 
65  void Init (void);
66  void CleanUp (void);
67 
69 
72 };
73 
74 } // genie namespace
75 
76 #endif // _XSEC_ALGORITHM_MAP_H_
friend ostream & operator<<(ostream &stream, const XSecAlgorithmMap &xsmap)
Cross Section Calculation Interface.
XSecAlgorithmMap & operator=(const XSecAlgorithmMap &xsmap)
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
const InteractionList & GetInteractionList(void) const
std::string string
Definition: nybbler.cc:12
const EventGeneratorList * fEventGeneratorList
void Copy(const XSecAlgorithmMap &xsmap)
void BuildMap(const InitialState &init_state)
Summary information for an interaction.
Definition: Interaction.h:56
An Interaction -> XSecAlgorithmI associative container. The container is being built for the loaded E...
const XSecAlgorithmI * FindXSecAlgorithm(const Interaction *in) const
void UseGeneratorList(const EventGeneratorList *list)
void Print(ostream &stream) const
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)
InteractionList * fInteractionList
A vector of Interaction objects.
A vector of EventGeneratorI objects.
Initial State information.
Definition: InitialState.h:48