CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/SimG4CMS/Forward/interface/BscG4Hit.h

Go to the documentation of this file.
00001 
00002 // File: BscG4Hit.h
00003 // Date: 02.2006 
00004 // 
00005 // Package:     Bsc
00006 // Class  :     BscG4Hit
00007 // 
00009 #ifndef BscG4Hit_h
00010 #define BscG4Hit_h
00011 
00012 #include "G4VHit.hh"
00013 #include <CLHEP/Vector/ThreeVector.h>
00014 #include <boost/cstdint.hpp>
00015 #include <iostream>
00016 
00017 #include "G4Step.hh"
00018 //#include "G4StepPoint.hh"
00019 
00020 class BscG4Hit : public G4VHit {
00021   
00022 public:
00023   
00024   BscG4Hit();
00025   ~BscG4Hit();
00026   BscG4Hit(const BscG4Hit &right);
00027   const BscG4Hit& operator=(const BscG4Hit &right);
00028   int operator==(const BscG4Hit &){return 0;}
00029   
00030   void         Draw(){}
00031   void         Print();
00032   
00033 public:
00034   
00035   G4ThreeVector   getEntry() const;
00036   void         setEntry(G4ThreeVector xyz);
00037   
00038   G4ThreeVector    getEntryLocalP() const;
00039   void         setEntryLocalP(G4ThreeVector xyz1);
00040 
00041   G4ThreeVector    getExitLocalP() const;
00042   void         setExitLocalP(G4ThreeVector xyz1);
00043 
00044   double       getEM() const;
00045   void         setEM (double e);
00046   
00047   double       getHadr() const;
00048   void         setHadr (double e);
00049   
00050   double       getIncidentEnergy() const;
00051   void         setIncidentEnergy (double e);
00052   
00053   G4int          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 BscG4Hit& 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 setEnergyLoss(float e) ;
00076   void setParticleType(short i) ;
00077 
00078   float getThetaAtEntry() const;   
00079     float getPhiAtEntry() const;
00080 
00081     void setThetaAtEntry(float t);
00082     void setPhiAtEntry(float f) ;
00083 
00084     float getX() const;
00085     void setX(float t);
00086     float getY() const;
00087     float getZ() const;
00088     void setY(float t);
00089     void setZ(float t);
00090 
00091 
00092     int getParentId() const;
00093     float getVx() const;
00094     float getVy() const;
00095     float getVz() const;
00096 
00097     void setParentId(int p);
00098     void setVx(float p);
00099     void setVy(float p);
00100     void setVz(float p);
00101 
00102 
00103 private:
00104   
00105     G4ThreeVector entry;             //Entry point
00106     G4ThreeVector entrylp;    //Entry  local point
00107     G4ThreeVector exitlp;    //Exit  local point
00108   double       elem;              //EnergyDeposit of EM particles
00109   double       hadr;              //EnergyDeposit of HD particles
00110   double       theIncidentEnergy; //Energy of the primary particle
00111   G4int          theTrackID;        //Identification number of the primary
00112                                   //particle
00113   double       theTimeSlice;      //Time Slice Identification
00114 
00115   int theUnitID;         //Bsc Unit Number
00116 
00117   float theX;
00118   float theY;
00119   float theZ;
00120   float thePabs  ;
00121     float theTof ;
00122     float theEnergyLoss   ;
00123     int theParticleType ;
00124 
00125 
00126   float theThetaAtEntry ;
00127     float thePhiAtEntry    ;
00128 
00129     int theParentId;
00130     float theVx;
00131     float theVy;
00132     float theVz;
00133 
00134 
00135 };
00136 
00137 std::ostream& operator<<(std::ostream&, const BscG4Hit&);
00138 
00139 #endif
00140