CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimG4CMS/FP420/interface/FP420G4Hit.h

Go to the documentation of this file.
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