CMS 3D CMS Logo

PPSDiamondG4Hit.h
Go to the documentation of this file.
1 // Author
3 // Seyed Mohsen Etesami setesami@cern.ch
4 // Feb 2016
6 #ifndef PPS_PPSDiamondG4Hit_h
7 #define PPS_PPSDiamondG4Hit_h
8 
9 #include "G4VHit.hh"
10 #include "G4ThreeVector.hh"
11 #include <iostream>
12 
13 class PPSDiamondG4Hit : public G4VHit {
14 public:
16  ~PPSDiamondG4Hit() override;
17  PPSDiamondG4Hit(const PPSDiamondG4Hit &right);
18  const PPSDiamondG4Hit &operator=(const PPSDiamondG4Hit &right);
19  int operator==(const PPSDiamondG4Hit &) { return 0; }
20 
21  void Draw() override {}
22  void Print() override;
23 
24 public:
25  const G4ThreeVector &entry() const;
26  void setEntry(const G4ThreeVector &xyz);
27  const G4ThreeVector &exit() const;
28  void setExit(const G4ThreeVector &xyz);
29 
30  void setLocalEntry(const G4ThreeVector &theLocalEntryPoint);
31  void setLocalExit(const G4ThreeVector &theLocalExitPoint);
32  const G4ThreeVector &localEntry() const;
33  const G4ThreeVector &localExit() const;
34 
35  double incidentEnergy() const;
36  void setIncidentEnergy(double e);
37 
38  unsigned int trackID() const;
39  void setTrackID(int i);
40 
41  int unitID() const;
42  void setUnitID(unsigned int i);
43 
44  double timeSlice() const;
45  void setTimeSlice(double d);
46  int timeSliceID() const;
47 
48  double p() const;
49  double tof() const;
50  double energyLoss() const;
51  int particleType() const;
52 
53  void setP(double e);
54  void setTof(double e);
55  void setEnergyLoss(double e);
56  void setParticleType(short i);
57 
58  void addEnergyLoss(double e);
59 
60  double thetaAtEntry() const;
61  double phiAtEntry() const;
62 
63  void setThetaAtEntry(double t);
64  void setPhiAtEntry(double f);
65 
66  double x() const;
67  double y() const;
68  double z() const;
69 
70  void setX(double t);
71  void setY(double t);
72  void setZ(double t);
73 
74  int parentId() const;
75  double vx() const;
76  double vy() const;
77  double vz() const;
78 
79  void setParentId(int p);
80  void setVx(double p);
81  void setVy(double p);
82  void setVz(double p);
83 
84  void setPx(double p);
85  void setPy(double p);
86  void setPz(double p);
87  double px() const;
88  double py() const;
89  double pz() const;
90 
91  double globalTimehit() const;
92  void setGlobalTimehit(double h);
93 
94 private:
95  G4ThreeVector entry_; //Entry point
96  G4ThreeVector exit_; //Exit point
97  G4ThreeVector local_entry_; //local entry point
98  G4ThreeVector local_exit_; //local exit point
99  double theIncidentEnergy_; //Energy of the primary particle
100  int theTrackID_; //Identification number of the primary particle
101  uint32_t theUnitID_; //PPS DetectorId
102  double theTimeSlice_; //Time Slice Identification
104  double theX_;
105  double theY_;
106  double theZ_;
107  double thePabs_;
108  double theTof_;
112  double theVx_;
113  double theVy_;
114  double theVz_;
115  double thePx_;
116  double thePy_;
117  double thePz_;
120 };
121 
122 std::ostream &operator<<(std::ostream &, const PPSDiamondG4Hit &);
123 
124 #endif //PPSDiamondG4Hit_h
void setP(double e)
double globalTimehit() const
void setTof(double e)
void setVy(double p)
void setPz(double p)
double vy() const
double thetaAtEntry() const
G4ThreeVector entry_
void setEntry(const G4ThreeVector &xyz)
void setZ(double t)
void setIncidentEnergy(double e)
void setThetaAtEntry(double t)
void setVz(double p)
double y() const
void setPy(double p)
double incidentEnergy() const
std::ostream & operator<<(std::ostream &, const PPSDiamondG4Hit &)
double phiAtEntry() const
void setUnitID(unsigned int i)
void setEnergyLoss(double e)
double energyLoss() const
double pz() const
int parentId() const
void setExit(const G4ThreeVector &xyz)
double p() const
const PPSDiamondG4Hit & operator=(const PPSDiamondG4Hit &right)
double py() const
void setVx(double p)
int timeSliceID() const
G4ThreeVector local_exit_
double px() const
int unitID() const
const G4ThreeVector & exit() const
double f[11][100]
void setPhiAtEntry(double f)
void setTrackID(int i)
void addEnergyLoss(double e)
double tof() const
d
Definition: ztail.py:151
const G4ThreeVector & localExit() const
~PPSDiamondG4Hit() override
G4ThreeVector local_entry_
int operator==(const PPSDiamondG4Hit &)
void setParticleType(short i)
double theIncidentEnergy_
void setParentId(int p)
const G4ThreeVector & localEntry() const
void setGlobalTimehit(double h)
double vx() const
void setLocalEntry(const G4ThreeVector &theLocalEntryPoint)
unsigned int trackID() const
void setX(double t)
int particleType() const
void setY(double t)
double timeSlice() const
G4ThreeVector exit_
double x() const
double z() const
void Draw() override
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
const G4ThreeVector & entry() const
void Print() override
void setLocalExit(const G4ThreeVector &theLocalExitPoint)
double vz() const
void setPx(double p)
void setTimeSlice(double d)