GENIEGenerator
Loading...
Searching...
No Matches
QELEventGenerator.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::QELEventGenerator
5
6\brief Generates values for the kinematic variables describing QEL 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-2025, The GENIE Collaboration
15 For the full text of the license visit http://copyright.genie-mc.org
16*/
17//____________________________________________________________________________
18
19#ifndef _QEL_EVENT_GENERATOR_H_
20#define _QEL_EVENT_GENERATOR_H_
21
27
28namespace genie {
29
31
32public :
34 QELEventGenerator(string config);
36
37 // implement the EventRecordVisitorI interface
38 void ProcessEventRecord(GHepRecord * event_rec) const;
39
40 // overload the Algorithm::Configure() methods to load private data
41 // members from configuration options
42 void Configure(const Registry & config);
43 void Configure(string config);
44
45private:
46
47 mutable double fEb; // Binding energy
48
49 void LoadConfig (void);
50 double ComputeMaxXSec(const Interaction* in) const;
51
52 void AddTargetNucleusRemnant (GHepRecord * evrec) const; ///< add a recoiled nucleus remnant
53
54 const NuclearModelI * fNuclModel; ///< nuclear model
55
56 mutable double fMinAngleEM;
57
58 /// Enum that indicates which approach should be used to handle the binding
59 /// energy of the struck nucleon
61
62 /// The number of nucleons to sample from the nuclear model when choosing a maximum
63 /// momentum to use in ComputeMaxXSec()
65
66}; // class definition
67
68} // genie namespace
69
70#endif // _QEL_EVENT_GENERATOR_H_
GENIE's GHEP MC event record.
Definition GHepRecord.h:45
Summary information for an interaction.
Definition Interaction.h:56
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
void AddTargetNucleusRemnant(GHepRecord *evrec) const
add a recoiled nucleus remnant
void Configure(const Registry &config)
void ProcessEventRecord(GHepRecord *event_rec) const
QELEvGen_BindingMode_t fHitNucleonBindingMode
const NuclearModelI * fNuclModel
nuclear model
double ComputeMaxXSec(const Interaction *in) const
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EQELEvGenBindingMode QELEvGen_BindingMode_t