GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HEDISInteractionListGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::HEDISInteractionListGenerator
5 
6 \brief Concrete implementations of the InteractionListGeneratorI interface.
7  Generate a list of all the Interaction (= event summary) objects that
8  can be generated by the HEDIS EventGenerator.
9 
10 \author Alfonso Garcia <alfonsog \at nikhef.nl>
11  NIKHEF
12 
13 \created August 28, 2019
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _HEDIS_INTERACTION_LIST_GENERATOR_H_
22 #define _HEDIS_INTERACTION_LIST_GENERATOR_H_
23 
24 #include <map>
25 
28 
29 using std::multimap;
30 
31 namespace genie {
32 
33 class Interaction;
34 
36 
37 public :
39  HEDISInteractionListGenerator(string config);
41 
42  // implement the InteractionListGeneratorI interface
44  InteractionList * CreateHEDISlist(vector<InitialState> vinit,
45  vector<InteractionType_t> vinttype) const;
46 
47  // overload the Algorithm::Configure() methods to load private data
48  // members from configuration options
49  void Configure(const Registry & config);
50  void Configure(string config);
51 
52 private:
53 
54 
55  multimap<int,bool> GetHitQuarks(const Interaction * interaction) const;
56  vector<int> GetFinalQuarks(const Interaction * interaction) const;
57 
58  void LoadConfigData(void);
59 
60  bool fIsCC;
61  bool fIsNC;
62 
63 };
64 
65 } // genie namespace
66 
67 #endif // _HEDIS_INTERACTION_LIST_GENERATOR_H_
Defines the InteractionListGeneratorI interface. Concrete implementations of this interface generate ...
Concrete implementations of the InteractionListGeneratorI interface. Generate a list of all the Inter...
InteractionList * CreateInteractionList(const InitialState &init) const
Summary information for an interaction.
Definition: Interaction.h:56
vector< int > GetFinalQuarks(const Interaction *interaction) const
InteractionList * CreateHEDISlist(vector< InitialState > vinit, vector< InteractionType_t > vinttype) const
multimap< int, bool > GetHitQuarks(const Interaction *interaction) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
A vector of Interaction objects.
Initial State information.
Definition: InitialState.h:48