ProfileSimulator.h
Go to the documentation of this file.
1 #ifndef _ProfileSimulatorOG_ProfileSimulator_h_
2 #define _ProfileSimulatorOG_ProfileSimulator_h_
3 
4 #include <fwk/VModule.h>
5 #include <evt/GaisserHillas4Parameter.h>
6 
7 
8 namespace utl {
9  class RandomEngine;
10 }
11 
12 namespace ProfileSimulatorOG {
13 
24  class ProfileSimulator : public fwk::VModule {
25 
26  public:
28  virtual ~ProfileSimulator();
29 
33 
35  enum ProfileType {
36  eFromEnergy = 0, // generate the profile using a
37  // parametrization of Nmax from energy
38  eFromFixParameters // generates the profile from
39  // a given set of GH parameters
40  };
41 
42  private:
44  //long fSeed; // unused. LN.
45  double fMinEnergy;
46  double fMaxEnergy;
47  double fEnergyCutoff;
48  int fPrimary;
52  double fXMaxSig;
53  //double fThetaMin; // unused. LN.
54  //double fThetaMax; // unused. LN.
55  //double fNCos; // unused. LN.
56  //double fProtonFraction; // unused. LN.
57  double fTheta;
58  double fPhi;
60 
62 
63  double DicePowerLaw(double min, double max, double index) const;
64 
65  double RandomXOne(int primary, double energy) const;
66 
67  double RandomXZero(int primary, double energy) const;
68 
69  double RandomXMax(int primary, double energy) const;
70 
71  double RandomLambda(int primary, double energy) const;
72 
73  double RandomNMax(int primary, double energy) const;
74 
75  double CalculateNMax(double depth, double xZero, double xMax, double energy) const;
76 
77  double CalculatedEdX(double age, double density) const;
78 
79  REGISTER_MODULE("ProfileSimulatorOG", ProfileSimulator);
80 
81  };
82 
83 }
84 
85 
86 #endif
REGISTER_MODULE("ProfileSimulatorOG", ProfileSimulator)
Simulates the shower profile with GH parametrization.
double RandomXOne(int primary, double energy) const
double RandomLambda(int primary, double energy) const
double CalculatedEdX(double age, double density) const
This function is obsolete Calculation of the mean energy deposition in the atmosphere.
#define max(a, b)
double RandomXZero(int primary, double energy) const
double RandomNMax(int primary, double energy) const
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
Module interface.
Definition: VModule.h:53
double CalculateNMax(double depth, double xZero, double xMax, double energy) const
double RandomXMax(int primary, double energy) const
ProfileType
Possible types of profile generation.
evt::GaisserHillas4Parameter fGH
double DicePowerLaw(double min, double max, double index) const
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
fwk::VModule::ResultFlag Run(evt::Event &theEvent)
Run: invoked once per event.
Gaisser Hillas with 4 parameters.

, generated on Tue Sep 26 2023.