CMS 3D CMS Logo

PPSPixelG4Hit.h
Go to the documentation of this file.
1 #ifndef _PPS_PixelG4Hit_h
2 #define _PPS_PixelG4Hit_h 1
3 // -*- C++ -*-
4 //
5 // Package: PPS
6 // Class : PPSPixelG4Hit
7 //
25 //
26 // Original Author:
27 // Created: Tue May 16 10:14:34 CEST 2006
28 //
29 
30 // system include files
31 
32 // user include files
33 
34 #include "G4VHit.hh"
35 #include "G4ThreeVector.hh"
36 #include <iostream>
37 
38 class PPSPixelG4Hit : public G4VHit {
39 public:
40  // ---------- Constructor and destructor -----------------
41  PPSPixelG4Hit();
42  ~PPSPixelG4Hit() override = default;
43  PPSPixelG4Hit(const PPSPixelG4Hit& right);
44 
45  // ---------- operators ----------------------------------
46  const PPSPixelG4Hit& operator=(const PPSPixelG4Hit& right);
47  int operator==(const PPSPixelG4Hit&) { return 0; }
48 
49  // ---------- member functions ---------------------------
50  void Draw() override {}
51  void Print() override;
52 
53  const G4ThreeVector& meanPosition() const { return MeanPosition_; };
54  void setMeanPosition(const G4ThreeVector& a) { MeanPosition_ = a; };
55 
56  const G4ThreeVector& entryPoint() const;
57  void setEntryPoint(const G4ThreeVector&);
58  const G4ThreeVector& exitPoint() const;
59  void setExitPoint(const G4ThreeVector&);
60 
61  double eM() const;
62  void setEM(double e);
63 
64  double hadr() const;
65  void setHadr(double e);
66 
67  double incidentEnergy() const;
68  void setIncidentEnergy(double e);
69 
70  int trackID() const;
71  void setTrackID(int i);
72 
73  uint32_t unitID() const;
74  void setUnitID(uint32_t i);
75 
76  double timeSlice() const;
77  void setTimeSlice(double d);
78  int timeSliceID() const;
79 
80  void addEnergyDeposit(double em, double hd);
81  void addEnergyDeposit(const PPSPixelG4Hit& aHit);
82 
83  double energyDeposit() const;
84 
85  float p() const;
86  float tof() const;
87  float energyLoss() const;
88  int particleType() const;
89 
90  void setP(float e);
91  void setTof(float e);
92  void setEnergyLoss(float e);
93  void setParticleType(short i);
94 
95  float thetaAtEntry() const;
96  float phiAtEntry() const;
97 
98  void setThetaAtEntry(float t);
99  void setPhiAtEntry(float f);
100  float px() const;
101  float py() const;
102  float pz() const;
103  float vPx() const;
104  float vPy() const;
105  float vPz() const;
106 
107  void setPx(float e);
108  void setPy(float e);
109  void setPz(float e);
110  void setVPx(float e);
111  void setVPy(float e);
112  void setVPz(float e);
113  float x() const;
114  float y() const;
115  float z() const;
116  void setX(float t);
117  void setY(float t);
118  void setZ(float t);
119 
120  int parentId() const;
121  float vx() const;
122  float vy() const;
123  float vz() const;
124 
125  void setParentId(int p);
126  void setVx(float p);
127  void setVy(float p);
128  void setVz(float p);
129 
130 private:
131  G4ThreeVector MeanPosition_;
132  double elem_; //EnergyDeposit of EM particles
133  double hadr_; //EnergyDeposit of HD particles
134  double theIncidentEnergy_; //Energy of the primary particle
135  int theTrackID_; //Identification number of the primary
136  //particle
137  uint32_t theUnitID_; //PPS Unit Number
138  double theTimeSlice_; //Time Slice Identification
139 
140  float theX_;
141  float theY_;
142  float theZ_;
143  float thePabs_;
144  float theTof_;
147 
150  G4ThreeVector theEntryPoint_;
151  G4ThreeVector theExitPoint_;
154  float theVx_;
155  float theVy_;
156  float theVz_;
157 };
158 
159 std::ostream& operator<<(std::ostream&, const PPSPixelG4Hit&);
160 
161 #endif
void setParticleType(short i)
float z() const
void setPy(float e)
void addEnergyDeposit(double em, double hd)
const PPSPixelG4Hit & operator=(const PPSPixelG4Hit &right)
float py() const
double hadr() const
double incidentEnergy() const
void setExitPoint(const G4ThreeVector &)
float energyLoss() const
int parentId() const
void Draw() override
Definition: PPSPixelG4Hit.h:50
float px() const
double theTimeSlice_
uint32_t unitID() const
float theEnergyLoss_
int particleType() const
void setP(float e)
void setEM(double e)
float vx() const
float y() const
void setVy(float p)
G4ThreeVector theExitPoint_
const G4ThreeVector & entryPoint() const
void Print() override
const G4ThreeVector & exitPoint() const
const G4ThreeVector & meanPosition() const
Definition: PPSPixelG4Hit.h:53
void setVPz(float e)
float thePhiAtEntry_
void setPz(float e)
void setPhiAtEntry(float f)
double timeSlice() const
float p() const
float thetaAtEntry() const
void setParentId(int p)
void setY(float t)
void setHadr(double e)
void setX(float t)
G4ThreeVector theEntryPoint_
void setTof(float e)
int operator==(const PPSPixelG4Hit &)
Definition: PPSPixelG4Hit.h:47
uint32_t theUnitID_
int timeSliceID() const
double f[11][100]
void setPx(float e)
~PPSPixelG4Hit() override=default
float pz() const
void setTimeSlice(double d)
void setEntryPoint(const G4ThreeVector &)
double eM() const
float theThetaAtEntry_
d
Definition: ztail.py:151
float tof() const
double energyDeposit() const
void setThetaAtEntry(float t)
float vz() const
void setVx(float p)
G4ThreeVector MeanPosition_
float x() const
float vy() const
void setTrackID(int i)
void setVPx(float e)
void setUnitID(uint32_t i)
std::ostream & operator<<(std::ostream &, const PPSPixelG4Hit &)
double a
Definition: hdecay.h:121
float vPz() const
float vPy() const
void setVz(float p)
double theIncidentEnergy_
void setVPy(float e)
float vPx() const
int trackID() const
void setZ(float t)
void setIncidentEnergy(double e)
void setEnergyLoss(float e)
void setMeanPosition(const G4ThreeVector &a)
Definition: PPSPixelG4Hit.h:54
float phiAtEntry() const