COHDNuEventGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 \class genie::COHDNuEventGenerator
4 
5 \brief Generates complete COHDNu events.
6  Is a concrete implementation of the EventRecordVisitorI interface.
7 
8 \author Iker de Icaza <i.de-icaza-astiz \at sussex.ac.uk>
9  University of Sussex
10 
11  Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
12  University of Liverpool & STFC Rutherford Appleton Laboratory
13 
14 \created June 30, 2020
15 
16 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _COHDNu_EVENT_GENERATOR_H_
22 #define _COHDNu_EVENT_GENERATOR_H_
23 
25 #include "Framework/Utils/Range1.h"
26 
27 namespace genie {
28 
29 class XSecAlgorithmI;
30 
32 
33 public :
37 
38  // Implement the EventRecordVisitorI interface
39  void ProcessEventRecord(GHepRecord * event) const;
40 
41  // Overload the Algorithm::Configure() methods to load private data
42  // members from configuration options
43  void Configure(const Registry & config);
44  void Configure(string config);
45 
46 private:
47 
48  // Methods to load sub-algorithms and config data from the Registry
49  void LoadConfig (void);
50 
51  // Event generation methods
52  void GenerateKinematics (GHepRecord * event) const;
53  void AddFinalStateDarkNeutrino (GHepRecord * event) const;
54  void AddRecoilNucleus (GHepRecord * event) const;
55 
56  mutable const XSecAlgorithmI * fXSecModel; ///<
57 
58  bool fGenerateUniformly; ///<
59  double fSafetyFactor; ///<
60  double fMaxXSecDiffTolerance; ///<
61 
63 
64 };
65 
66 } // genie namespace
67 
68 #endif // _COHDNu_EVENT_GENERATOR_H_
Cross Section Calculation Interface.
void ProcessEventRecord(GHepRecord *event) const
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
void GenerateKinematics(GHepRecord *event) const
Generates complete COHDNu events. Is a concrete implementation of the EventRecordVisitorI interface...
const XSecAlgorithmI * fXSecModel
void AddRecoilNucleus(GHepRecord *event) const
static Config * config
Definition: config.cpp:1054
void AddFinalStateDarkNeutrino(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45
Event finding and building.
void Configure(const Registry &config)