UnivParamNSTester.cc
Go to the documentation of this file.
1 
11 #include "UnivParamNSTester.h"
12 
13 #include <utl/ErrorLogger.h>
14 
15 #include <tls/UnivParam.h>
16 
17 #include <iostream>
18 
19 using namespace fwk;
20 using namespace utl;
21 
22 using namespace std;
23 
24 
25 namespace UnivParamNSTester {
26 
27 
30  {
31  return eSuccess;
32  }
33 
34 
36  UnivParamNSTester::Run(evt::Event& /*event*/)
37  {
38  UnivParamNS::UnivParam fUnivParam(0); // WCD(0) (see UnivParamNS/UnivParam.h)
39 
40  double logTotalEnergy = 19.;
41  double r = 1000 * meter;
42  double Xmax_EM = 800 * gram / cm2;
43  double Xmax_MU = 500 * gram / cm2;
44  double theta = 35 * degree;
45  double psi = 90 * degree;
46  double Nmu = 1.0;
47  int monthlyModel = 4; // Malargue April
48  double hGround = 1452 * meter;
49  double rhoGround = 1.04e-3 * gram / cm3;
50 
51  int icomp;
52  double componentSignal;
53 
54  cout << endl;
55 
56  cout << "log10 E/eV = " << logTotalEnergy << endl;
57  cout << "r/m = " << r / meter << endl;
58  cout << "Xmax_EM/gcm^-2 = " << Xmax_EM / (gram / cm2) << endl;
59  cout << "Xmax_MU/gcm^-2 = " << Xmax_MU / (gram / cm2) << endl;
60  cout << "theta/deg = " << theta / degree << endl;
61  cout << "psi/deg = " << psi / degree << endl;
62  cout << "height/m = " << hGround / meter << endl;
63  cout << "density/gcm^-3) = " << rhoGround / (gram / cm3) << endl;
64  cout << "Nmu = " << Nmu << endl;
65 
66  cout << endl;
67 
68  cout << "component signals / VEM" << endl;
69 
70  icomp = 0; // pure muonic
71  componentSignal = fUnivParam.GetSignal(r / cm, Xmax_EM / (gram / cm2), logTotalEnergy,
72  theta, psi, rhoGround / (gram / cm3), hGround / cm,
73  Nmu, icomp, monthlyModel);
74  cout << "pure muonic " << componentSignal << endl;
75 
76  icomp = 1; // pure electromagnetic
77  componentSignal = fUnivParam.GetSignal(r / cm, Xmax_EM / (gram / cm2), logTotalEnergy,
78  theta, psi, rhoGround / (gram / cm3), hGround / cm,
79  Nmu, icomp, monthlyModel);
80  cout << "pure electromagnetic " << componentSignal << endl;
81 
82  icomp = 2; // muon halo
83  componentSignal = fUnivParam.GetSignal(r / cm, Xmax_EM / (gram / cm2), logTotalEnergy,
84  theta, psi, rhoGround / (gram / cm3), hGround / cm,
85  Nmu, icomp, monthlyModel);
86  cout << "muon halo " << componentSignal << endl;
87 
88  icomp = 3; // hadron jets
89  componentSignal = fUnivParam.GetSignal(r / cm, Xmax_EM / (gram / cm2), logTotalEnergy,
90  theta, psi, rhoGround / (gram / cm3), hGround / cm,
91  Nmu, icomp, monthlyModel);
92  cout << "hadron jets " << componentSignal << endl;
93 
94  cout << endl;
95 
96  return eSuccess;
97  }
98 
99 
101  UnivParamNSTester::Finish()
102  {
103  return eSuccess;
104  }
105 
106 }
const double degree
constexpr double cm3
Definition: AugerUnits.h:119
const double meter
Definition: GalacticUnits.h:29
void Init()
Initialise the registry.
double GetSignal(double r, double XmaxEdep, double logE, double theta, double psi, double rhoGround, double hGround, double Nmu, int icomp0, int iatm)
Definition: UnivParam.cc:202
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
constexpr double cm
Definition: AugerUnits.h:117
constexpr double gram
Definition: AugerUnits.h:195
constexpr double cm2
Definition: AugerUnits.h:118

, generated on Tue Sep 26 2023.