GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HEDISKinematicsGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::HEDISKinematicsGenerator
5 
6 \brief Generates values for the kinematic variables describing HEDIS v
7  interaction events.
8  Is a concrete implementation of the EventRecordVisitorI interface.
9 
10  Max Xsec are precomputed as the total xsec and they are stored in
11  ascii files. This saves a lot of computational time.
12 
13 \author Alfonso Garcia <alfonsog \at nikhef.nl>
14  NIKHEF
15 
16 \created August 28, 2019
17 
18 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
19  For the full text of the license visit http://copyright.genie-mc.org
20  or see $GENIE/LICENSE
21 */
22 //____________________________________________________________________________
23 
24 #ifndef _HEDIS_KINEMATICS_GENERATOR_H_
25 #define _HEDIS_KINEMATICS_GENERATOR_H_
26 
28 
29 namespace genie {
30 
32 
33 public :
35  HEDISKinematicsGenerator(string config);
37 
38  double ComputeMaxXSec (const Interaction * interaction) const;
39 
40  // implement the EventRecordVisitorI interface
41  void ProcessEventRecord(GHepRecord * event_rec) const;
42 
43  // overload the Algorithm::Configure() methods to load private data
44  // members from configuration options
45  void Configure(const Registry & config);
46  void Configure(string config);
47 
48 private:
49 
50  double Scan(Interaction * interaction, Range1D_t xrange,Range1D_t Q2range, int NKnotsQ2, int NKnotsX, double ME2, double & x_scan, double & Q2_scan) const;
51 
52  void LoadConfig (void);
53 
56  double fWideRange;
59  double fFineRange;
60 
61  double fSFXmin; ///< minimum value of x for which SF tables are computed
62  double fSFQ2min; ///< minimum value of Q2 for which SF tables are computed
63  double fSFQ2max; ///< maximum value of Q2 for which SF tables are computed
64 
65 };
66 
67 } // genie namespace
68 
69 #endif // _HEDIS_KINEMATICS_GENERATOR_H_
double ComputeMaxXSec(const Interaction *interaction) const
double Scan(Interaction *interaction, Range1D_t xrange, Range1D_t Q2range, int NKnotsQ2, int NKnotsX, double ME2, double &x_scan, double &Q2_scan) const
A simple [min,max] interval for doubles.
Definition: Range1.h:42
double fSFXmin
minimum value of x for which SF tables are computed
Generates values for the kinematic variables describing HEDIS v interaction events. Is a concrete implementation of the EventRecordVisitorI interface.
Abstract class. Provides a data caching mechanism for for concrete implementations of the EventRecord...
void Configure(const Registry &config)
Summary information for an interaction.
Definition: Interaction.h:56
void ProcessEventRecord(GHepRecord *event_rec) const
double fSFQ2min
minimum value of Q2 for which SF tables are computed
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double fSFQ2max
maximum value of Q2 for which SF tables are computed
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45