ConexInterface.h
Go to the documentation of this file.
1 #ifndef _ConexShowerGeneratorKG_ConexInterface_h_
2 #define _ConexShowerGeneratorKG_ConexInterface_h_
3 
4 #include <ConexDynamicInterface.h>
5 #include <io/CONEXStructures.h>
6 
7 #include <string>
8 #include <vector>
9 
10 
11 namespace io {
12  class CONEXHeader;
13  class CONEXShower;
14  class CONEXLeadingParticles;
15 }
16 
17 
19 public:
21  matg(0), Depth(0), Height(0) {}
22  LeadingInteractionsData(int _pid, double _kinel, double _pEnergy, double _energyCM,
23  int _mult, int _matg, double _depth, double _height) :
24  pId(_pid), pEnergy(_pEnergy), energyCM(_energyCM), kinel(_kinel), mult(_mult),
25  matg(_matg), Depth(_depth),
26  Height(_height) {}
27  int pId; // parent id
28  double pEnergy; // parent energy
29  double energyCM; // center-of-mass energy
30  double kinel; // inelasticity
31  int mult; // multiplicity
32  int matg; // target nucleus mass
33  double Depth; // depth
34  double Height; // height
35 };
36 
37 
39 public:
40  LeadingInteractionsParticleData(double e, double m, double px, double py, double pz,
41  int id, int nInt)
42  {fEnergy=e; fMass=m; fpx=px; fpy=py; fpz=pz; fID=id; fnInt=nInt;}
43  double fEnergy;
44  double fMass;
45  double fpx;
46  double fpy;
47  double fpz;
48  int fID;
49  int fnInt;
50 private:
52 };
53 
54 
55 namespace ConexShowerGeneratorKG {
56 
57  class ConexInterface : public ConexDynamicInterface {
58 
59  public:
60  ConexInterface(const EHEModel model,
61  const std::string& parameterPathName,
62  const int StoredGenerations,
63  const int seed);
65 
66  void SimulateShower(int particleType,
67  double energyInGeV,
68  double zenith,
69  double azimuth,
70  double altitude,
71  int storedParticles);
72 
73  static bool ParticleSort(const LeadingInteractionsParticleData& lhs,
75 
76  const io::CONEXHeader& GetHeader() const { return *fHeader; }
77  const io::CONEXShower& GetShower() const { return *fShower; }
78  const std::vector<io::CONEXLeadingParticles>& GetLPvector() const { return fLeadingParticles; }
79 
80  private:
82 
83  int fRandomSeeds[3] = { 0 };
86  std::vector<io::CONEXLeadingParticles> fLeadingParticles;
87  };
88 
89 }
90 
91 
92 #endif
static bool ParticleSort(const LeadingInteractionsParticleData &lhs, const LeadingInteractionsParticleData &rhs)
Wrapper for CONEX header information.
Wrapper for CONEX header shower profile data.
void SimulateShower(int particleType, double energyInGeV, double zenith, double azimuth, double altitude, int storedParticles)
LeadingInteractionsParticleData(double e, double m, double px, double py, double pz, int id, int nInt)
LeadingInteractionsData(int _pid, double _kinel, double _pEnergy, double _energyCM, int _mult, int _matg, double _depth, double _height)
std::vector< io::CONEXLeadingParticles > fLeadingParticles
const std::vector< io::CONEXLeadingParticles > & GetLPvector() const
const io::CONEXHeader & GetHeader() const
constexpr double m
Definition: AugerUnits.h:121
const io::CONEXShower & GetShower() const

, generated on Tue Sep 26 2023.