GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NormXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::NormXSec
5 
6 \brief Normalization channel. Its main property is a constant cross section
7  per nucleon over the whole energy range.
8 
9 \ref [1] GENIE docdb 297
10 
11 
12 \author Igor Kakorin <kakorin@jinr.ru>
13  Joint Institute for Nuclear Research
14 
15 \created May 16, 2022
16 
17 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
18  For the full text of the license visit http://copyright.genie-mc.org
19 
20 
21 */
22 //____________________________________________________________________________
23 
24 #ifndef _NORM_CROSS_SECTION_H_
25 #define _NORM_CROSS_SECTION_H_
27 
28 namespace genie {
29 
30 
31 class NormXSec : public XSecAlgorithmI {
32 
33 public:
34  NormXSec();
35  NormXSec(string config);
36  virtual ~NormXSec();
37 
38  // XSecAlgorithmI interface implementation
39  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
40  double Integral (const Interaction * i) const;
41  bool ValidProcess (const Interaction * i) const;
42  bool ValidKinematics (const Interaction * i) const;
43 
44  // Override the Algorithm::Configure methods to load configuration
45  // data to private data members
46  void Configure (const Registry & config);
47  void Configure (string param_set);
48 
49 private:
50  void LoadConfig (void);
51  double fNormScale;
52 };
53 
54 } // genie namespace
55 
56 #endif
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Definition: NormXSec.cxx:34
Normalization channel. Its main property is a constant cross section per nucleon over the whole energ...
Definition: NormXSec.h:31
Cross Section Calculation Interface.
void LoadConfig(void)
Definition: NormXSec.cxx:71
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
Definition: NormXSec.cxx:54
double fNormScale
Definition: NormXSec.h:51
double Integral(const Interaction *i) const
Definition: NormXSec.cxx:42
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Definition: NormXSec.cxx:49
virtual ~NormXSec()
Definition: NormXSec.cxx:29
enum genie::EKinePhaseSpace KinePhaseSpace_t
Summary information for an interaction.
Definition: Interaction.h:56
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(const Registry &config)
Definition: NormXSec.cxx:59