DMELEventGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::DMELEventGenerator
5 
6 \brief Generates values for the kinematic variables describing DMEL neutrino
7  interaction events.
8  Is a concrete implementation of the EventRecordVisitorI interface.
9 
10 \author Andrew Furmanski
11 
12 \created August 04, 2014
13 
14 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16 
17 */
18 //____________________________________________________________________________
19 
20 
21 #ifndef _DMEL_EVENT_GENERATOR_H_
22 #define _DMEL_EVENT_GENERATOR_H_
23 
24 
28 #include "Framework/Utils/Range1.h"
30 
31 
32 namespace genie {
33 
35 
36 public :
38  DMELEventGenerator(string config);
40 
41  // implement the EventRecordVisitorI interface
42  void ProcessEventRecord(GHepRecord * event_rec) const;
43 
44  // overload the Algorithm::Configure() methods to load private data
45  // members from configuration options
46  void Configure(const Registry & config);
47  void Configure(string config);
48 
49 private:
50 
51  mutable double fEb; // Binding energy
52 
53  void LoadConfig (void);
54  double ComputeMaxXSec(const Interaction* in) const;
55 
56  void AddTargetNucleusRemnant (GHepRecord * evrec) const; ///< add a recoiled nucleus remnant
57 
58  const NuclearModelI * fNuclModel; ///< nuclear model
59 
60  mutable double fMinAngleEM;
61 
62  /// Enum that indicates which approach should be used to handle the binding
63  /// energy of the struck nucleon
65 
66  /// The number of nucleons to sample from the nuclear model when choosing a maximum
67  /// momentum to use in ComputeMaxXSec()
69 
70 }; // class definition
71 
72 } // genie namespace
73 
74 #endif // _DMEL_EVENT_GENERATOR_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
DMELEvGen_BindingMode_t fHitNucleonBindingMode
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Definition: NuclearModelI.h:46
Abstract class. Provides a data caching mechanism for for concrete implementations of the EventRecord...
Summary information for an interaction.
Definition: Interaction.h:56
const NuclearModelI * fNuclModel
nuclear model
static Config * config
Definition: config.cpp:1054
void ProcessEventRecord(GHepRecord *event_rec) const
enum genie::EDMELEvGenBindingMode DMELEvGen_BindingMode_t
void AddTargetNucleusRemnant(GHepRecord *evrec) const
add a recoiled nucleus remnant
double ComputeMaxXSec(const Interaction *in) const
void Configure(const Registry &config)
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
Generates values for the kinematic variables describing DMEL neutrino interaction events...
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45