GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SKKinematicsGenerator.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::SKKinematicsGenerator
5 
6 \brief Generates values for the kinematic variables describing neutrino-nucleus
7  single kaon production events.
8  Is a concrete implementation of the EventRecordVisitorI interface.
9 
10 \author Chris Marshall <marshall \at pas.rochester.edu>
11  University of Rochester
12 
13 \created October 03, 2014
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _SK_KINEMATICS_GENERATOR_H_
21 #define _SK_KINEMATICS_GENERATOR_H_
22 
23 #include "Framework/Utils/Range1.h"
25 
26 namespace genie {
27 
29 
30 public :
32  SKKinematicsGenerator(string config);
34 
35  // Implement the EventRecordVisitorI interface
36  void ProcessEventRecord(GHepRecord * event_rec) const;
37 
38  // Overload the Algorithm::Configure() methods to load private data
39  // members from configuration options
40  void Configure(const Registry & config);
41  void Configure(string config);
42 
43 public:
44  // Methods to load sub-algorithms and config data from the Registry
45  void LoadConfig (void);
46 
47  // Different kinematics calculators for different models
48  void CalculateKin_AtharSingleKaon(GHepRecord * event_rec) const;
49 
50  double ComputeMaxXSec (const Interaction * in) const;
51 
52  // Overload KineGeneratorWithCache method to get energy
53  double Energy (const Interaction * in) const;
54 
55 private:
56 
57  // In computeMaxXSec method, scan log(1-cos(theta)) from this value up to log(2)
59 
60 };
61 
62 } // genie namespace
63 #endif // _SK_KINEMATICS_GENERATOR_H_
void Configure(const Registry &config)
Abstract class. Provides a data caching mechanism for for concrete implementations of the EventRecord...
Generates values for the kinematic variables describing neutrino-nucleus single kaon production event...
Summary information for an interaction.
Definition: Interaction.h:56
double ComputeMaxXSec(const Interaction *in) const
void ProcessEventRecord(GHepRecord *event_rec) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double Energy(const Interaction *in) const
void CalculateKin_AtharSingleKaon(GHepRecord *event_rec) const
GENIE&#39;s GHEP MC event record.
Definition: GHepRecord.h:45