GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CEvNSEventGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::CEvNSEventGenerator
5 
6 \brief Generates complete CEvNS events.
7  Is a concrete implementation of the EventRecordVisitorI interface.
8 
9 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
10  University of Liverpool
11 
12 \created July 16, 2019
13 
14 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _CEVNS_EVENT_GENERATOR_H_
20 #define _CEVNS_EVENT_GENERATOR_H_
21 
23 #include "Framework/Utils/Range1.h"
24 
25 namespace genie {
26 
27 class XSecAlgorithmI;
28 
30 
31 public :
33  CEvNSEventGenerator(string config);
35 
36  // Implement the EventRecordVisitorI interface
37  void ProcessEventRecord(GHepRecord * event) const;
38 
39  // Overload the Algorithm::Configure() methods to load private data
40  // members from configuration options
41  void Configure(const Registry & config);
42  void Configure(string config);
43 
44 public:
45 
46  // Methods to load sub-algorithms and config data from the Registry
47  void LoadConfig (void);
48 
49  // Event generation methods
50  void GenerateKinematics (GHepRecord * event) const;
51  void AddFinalStateNeutrino (GHepRecord * event) const;
52  void AddRecoilNucleus (GHepRecord * event) const;
53 
54  mutable const XSecAlgorithmI * fXSecModel; ///<
55 
56  bool fGenerateUniformly; ///<
57  double fSafetyFactor; ///<
58  double fMaxXSecDiffTolerance; ///<
59 };
60 
61 } // genie namespace
62 
63 #endif // _CEVNS_EVENT_GENERATOR_H_
Cross Section Calculation Interface.
const XSecAlgorithmI * fXSecModel
Generates complete CEvNS events. Is a concrete implementation of the EventRecordVisitorI interface...
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the &#39;Visito...
void AddRecoilNucleus(GHepRecord *event) const
void Configure(const Registry &config)
void AddFinalStateNeutrino(GHepRecord *event) const
void GenerateKinematics(GHepRecord *event) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void ProcessEventRecord(GHepRecord *event) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45