File indexing completed on 2024-04-06 12:30:02
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef FP420G4Hit_h
0010 #define FP420G4Hit_h
0011
0012 #include "G4VHit.hh"
0013 #include <iostream>
0014
0015 #include "G4Step.hh"
0016
0017
0018 class FP420G4Hit : public G4VHit {
0019 public:
0020 FP420G4Hit();
0021 ~FP420G4Hit() override;
0022 FP420G4Hit(const FP420G4Hit& right);
0023 const FP420G4Hit& operator=(const FP420G4Hit& right);
0024 int operator==(const FP420G4Hit&) { return 0; }
0025
0026 void Draw() override {}
0027 void Print() override;
0028
0029 public:
0030 G4ThreeVector getEntry() const;
0031 void setEntry(const G4ThreeVector& xyz);
0032
0033 G4ThreeVector getEntryLocalP() const;
0034 void setEntryLocalP(const G4ThreeVector& xyz1);
0035
0036 G4ThreeVector getExitLocalP() const;
0037 void setExitLocalP(const G4ThreeVector& xyz1);
0038
0039 double getEM() const;
0040 void setEM(double e);
0041
0042 double getHadr() const;
0043 void setHadr(double e);
0044
0045 double getIncidentEnergy() const;
0046 void setIncidentEnergy(double e);
0047
0048
0049 unsigned int getTrackID() const;
0050 void setTrackID(int i);
0051
0052 unsigned int getUnitID() const;
0053 void setUnitID(unsigned int i);
0054
0055 double getTimeSlice() const;
0056 void setTimeSlice(double d);
0057 int getTimeSliceID() const;
0058
0059 void addEnergyDeposit(double em, double hd);
0060 void addEnergyDeposit(const FP420G4Hit& aHit);
0061
0062 double getEnergyDeposit() const;
0063
0064 float getPabs() const;
0065 float getTof() const;
0066 float getEnergyLoss() const;
0067 int getParticleType() const;
0068
0069 void setPabs(float e);
0070 void setTof(float e);
0071 void addEnergyLoss(float e);
0072 void setEnergyLoss(float e);
0073 void setParticleType(short i);
0074
0075 float getThetaAtEntry() const;
0076 float getPhiAtEntry() const;
0077
0078 void setThetaAtEntry(float t);
0079 void setPhiAtEntry(float f);
0080
0081 float getX() const;
0082 void setX(float t);
0083 float getY() const;
0084 float getZ() const;
0085 void setY(float t);
0086 void setZ(float t);
0087
0088 int getParentId() const;
0089 float getVx() const;
0090 float getVy() const;
0091 float getVz() const;
0092
0093 void setParentId(int p);
0094 void setVx(float p);
0095 void setVy(float p);
0096 void setVz(float p);
0097
0098 private:
0099 G4ThreeVector entry;
0100 G4ThreeVector entrylp;
0101 G4ThreeVector exitlp;
0102 double elem;
0103 double hadr;
0104 double theIncidentEnergy;
0105 G4int theTrackID;
0106
0107 double theTimeSlice;
0108
0109 int theUnitID;
0110
0111 float theX;
0112 float theY;
0113 float theZ;
0114 float thePabs;
0115 float theTof;
0116 float theEnergyLoss;
0117 int theParticleType;
0118
0119 float theThetaAtEntry;
0120 float thePhiAtEntry;
0121
0122 int theParentId;
0123 float theVx;
0124 float theVy;
0125 float theVz;
0126 };
0127
0128 std::ostream& operator<<(std::ostream&, const FP420G4Hit&);
0129
0130 #endif