ATLAS Offline Software
MarsParticle.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MARSPARTICLE_H
6 #define MARSPARTICLE_H
7 
9 #include <vector>
10 #include <string>
11 
20  public:
22 
23  int particleId;
24  int processId;
25  double weight;
26  HepMC::FourVector position;
27  double kineticEnergy;
28 };
29 
30 
39  public:
41 
43  int nevve;
44  double timeOfFlight;
45 };
46 
47 
55 class MarsParticle {
56  public:
57  MarsParticle();
58 
61  int read(std::vector<std::string> *eventAsStringVector);
62 
66  void print(bool beamGas);
67 
69  long eventNumber() const { return m_eventNumber; }
70 
72  int particleId() const { return m_particleId; }
73 
76  double kineticEnergy() const { return m_kineticEnergy; }
77 
80  double weight() const { return m_weight; }
81 
84  HepMC::FourVector positionAtScoringPlane() const { return m_positionAtScoringPlane; }
85 
88  HepMC::FourVector directionalCosines() const { return m_directionalCosines; }
89 
91  double timeOfFlight() const { return m_timeOfFlight; }
92 
95  double primaryProtonZ() const { return m_primaryProtonZ; }
96 
100 
104 
106  int pdgId();
107 
108  private:
112  double m_weight;
113  HepMC::FourVector m_positionAtScoringPlane;
114  HepMC::FourVector m_directionalCosines;
119 };
120 
121 #endif
MarsParticle::eventNumber
long eventNumber() const
A function to return the event number of this particle.
Definition: MarsParticle.h:69
MarsParticle::beamGasInteraction
MarsBeamGasInteraction beamGasInteraction() const
A function to return the beam gas interaction information for this particle.
Definition: MarsParticle.h:103
MarsParticle
A class to describe a MARS particle read from an input ASCII file.
Definition: MarsParticle.h:55
MarsParticle::positionAtScoringPlane
HepMC::FourVector positionAtScoringPlane() const
A function to the position of this particle with respect to the scoring plane.
Definition: MarsParticle.h:84
MarsShowerPrimary::particleId
int particleId
IORIG.
Definition: MarsParticle.h:23
MarsParticle::print
void print(bool beamGas)
A function to print the contents of this particle.
Definition: MarsParticle.cxx:80
MarsParticle::weight
double weight() const
A function to return the weight associated with this particle in the input ASCII file.
Definition: MarsParticle.h:80
MarsBeamGasInteraction::timeOfFlight
double timeOfFlight
ZBGASHIT.
Definition: MarsParticle.h:44
MarsParticle::m_directionalCosines
HepMC::FourVector m_directionalCosines
Definition: MarsParticle.h:114
MarsParticle::m_timeOfFlight
double m_timeOfFlight
Definition: MarsParticle.h:115
MarsParticle::pdgId
int pdgId()
A function to return the PDG id for this particle.
Definition: MarsParticle.cxx:115
MarsShowerPrimary::position
HepMC::FourVector position
XORG, YORG, ZORG , T.
Definition: MarsParticle.h:26
MarsShowerPrimary::processId
int processId
KORIG.
Definition: MarsParticle.h:24
MarsShowerPrimary::kineticEnergy
double kineticEnergy
EORIG.
Definition: MarsParticle.h:27
SimpleVector.h
MarsParticle::kineticEnergy
double kineticEnergy() const
A function to return the relativistic kinetic energy of this particle.
Definition: MarsParticle.h:76
MarsShowerPrimary::weight
double weight
WORIG.
Definition: MarsParticle.h:25
MarsParticle::MarsParticle
MarsParticle()
Definition: MarsParticle.cxx:23
MarsParticle::read
int read(std::vector< std::string > *eventAsStringVector)
A function to read the values from a single row definition and fill the data members.
Definition: MarsParticle.cxx:37
MarsBeamGasInteraction::MarsBeamGasInteraction
MarsBeamGasInteraction()
Definition: MarsParticle.cxx:16
MarsParticle::particleId
int particleId() const
A function to return the particle identify of this particle.
Definition: MarsParticle.h:72
MarsBeamGasInteraction::nevve
int nevve
NEVVE.
Definition: MarsParticle.h:43
MarsParticle::directionalCosines
HepMC::FourVector directionalCosines() const
A function to return the directional cosines of this particle.
Definition: MarsParticle.h:88
MarsShowerPrimary::MarsShowerPrimary
MarsShowerPrimary()
Definition: MarsParticle.cxx:9
MarsParticle::m_primaryProtonZ
double m_primaryProtonZ
Definition: MarsParticle.h:116
MarsParticle::timeOfFlight
double timeOfFlight() const
A function to return the time of flight for this particle.
Definition: MarsParticle.h:91
MarsParticle::primaryProtonZ
double primaryProtonZ() const
A function to return the primary proton Z position for this particle.
Definition: MarsParticle.h:95
MarsParticle::m_eventNumber
long m_eventNumber
Definition: MarsParticle.h:109
MarsParticle::m_beamGasInteraction
MarsBeamGasInteraction m_beamGasInteraction
Definition: MarsParticle.h:118
MarsParticle::m_positionAtScoringPlane
HepMC::FourVector m_positionAtScoringPlane
Definition: MarsParticle.h:113
MarsParticle::m_kineticEnergy
double m_kineticEnergy
Definition: MarsParticle.h:111
MarsParticle::m_showerPrimary
MarsShowerPrimary m_showerPrimary
Definition: MarsParticle.h:117
MarsParticle::showerPrimary
MarsShowerPrimary showerPrimary() const
A function to return the shower primary infomation for this particle.
Definition: MarsParticle.h:99
MarsShowerPrimary
A class to describe the primary shower that produced a given MARS particle.
Definition: MarsParticle.h:19
MarsBeamGasInteraction
A class to describe the beam gas interaction that produced a iven MARS particle.
Definition: MarsParticle.h:38
MarsParticle::m_weight
double m_weight
Definition: MarsParticle.h:112
MarsBeamGasInteraction::nucleusType
int nucleusType
INUC.
Definition: MarsParticle.h:42
MarsParticle::m_particleId
int m_particleId
Definition: MarsParticle.h:110