00001 00002 // File: FP420G4Hit.h 00003 // Date: 02.2006 00004 // 00005 // Package: FP420 00006 // Class : FP420G4Hit 00007 // 00009 #ifndef FP420G4Hit_h 00010 #define FP420G4Hit_h 00011 00012 #include "G4VHit.hh" 00013 #include <boost/cstdint.hpp> 00014 #include <iostream> 00015 00016 #include "G4Step.hh" 00017 //#include "G4StepPoint.hh" 00018 00019 class FP420G4Hit : public G4VHit { 00020 00021 public: 00022 00023 FP420G4Hit(); 00024 ~FP420G4Hit(); 00025 FP420G4Hit(const FP420G4Hit &right); 00026 const FP420G4Hit& operator=(const FP420G4Hit &right); 00027 int operator==(const FP420G4Hit &){return 0;} 00028 00029 void Draw(){} 00030 void Print(); 00031 00032 public: 00033 00034 G4ThreeVector getEntry() const; 00035 void setEntry(G4ThreeVector xyz); 00036 00037 G4ThreeVector getEntryLocalP() const; 00038 void setEntryLocalP(G4ThreeVector xyz1); 00039 00040 G4ThreeVector getExitLocalP() const; 00041 void setExitLocalP(G4ThreeVector xyz1); 00042 00043 double getEM() const; 00044 void setEM (double e); 00045 00046 double getHadr() const; 00047 void setHadr (double e); 00048 00049 double getIncidentEnergy() const; 00050 void setIncidentEnergy (double e); 00051 00052 //G4int getTrackID() const; 00053 unsigned int getTrackID() const; 00054 void setTrackID (int i); 00055 00056 unsigned int getUnitID() const; 00057 void setUnitID (unsigned int i); 00058 00059 double getTimeSlice() const; 00060 void setTimeSlice(double d); 00061 int getTimeSliceID() const; 00062 00063 void addEnergyDeposit(double em, double hd); 00064 void addEnergyDeposit(const FP420G4Hit& aHit); 00065 00066 double getEnergyDeposit() const; 00067 00068 float getPabs() const; 00069 float getTof() const; 00070 float getEnergyLoss() const; 00071 int getParticleType() const; 00072 00073 void setPabs(float e) ; 00074 void setTof(float e) ; 00075 void addEnergyLoss(float e) ; 00076 void setEnergyLoss(float e) ; 00077 void setParticleType(short i) ; 00078 00079 float getThetaAtEntry() const; 00080 float getPhiAtEntry() const; 00081 00082 void setThetaAtEntry(float t); 00083 void setPhiAtEntry(float f) ; 00084 00085 float getX() const; 00086 void setX(float t); 00087 float getY() const; 00088 float getZ() const; 00089 void setY(float t); 00090 void setZ(float t); 00091 00092 00093 int getParentId() const; 00094 float getVx() const; 00095 float getVy() const; 00096 float getVz() const; 00097 00098 void setParentId(int p); 00099 void setVx(float p); 00100 void setVy(float p); 00101 void setVz(float p); 00102 00103 00104 private: 00105 00106 G4ThreeVector entry; //Entry point 00107 G4ThreeVector entrylp; //Entry local point 00108 G4ThreeVector exitlp; //Exit local point 00109 double elem; //EnergyDeposit of EM particles 00110 double hadr; //EnergyDeposit of HD particles 00111 double theIncidentEnergy; //Energy of the primary particle 00112 G4int theTrackID; //Identification number of the primary 00113 //particle 00114 double theTimeSlice; //Time Slice Identification 00115 00116 int theUnitID; //FP420 Unit Number 00117 00118 float theX; 00119 float theY; 00120 float theZ; 00121 float thePabs ; 00122 float theTof ; 00123 float theEnergyLoss ; 00124 int theParticleType ; 00125 00126 00127 float theThetaAtEntry ; 00128 float thePhiAtEntry ; 00129 00130 int theParentId; 00131 float theVx; 00132 float theVy; 00133 float theVz; 00134 00135 00136 }; 00137 00138 std::ostream& operator<<(std::ostream&, const FP420G4Hit&); 00139 00140 #endif 00141