/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/BOOST/MdcSim/MdcSim-00-00-73/MdcSim/BesMdcHit.hh

Go to the documentation of this file.
00001 //---------------------------------------------------------------------------//
00002 //      BOOST --- BESIII Object_Oriented Simulation Tool                     //
00003 //---------------------------------------------------------------------------//
00004 //Description: Track type hit class for BESIII MDC
00005 //Author: Yuan Ye(yuany@mail.ihep.ac.cn)
00006 //Created: 4 Dec, 2003
00007 //Modified:
00008 //Comment: 
00009 //---------------------------------------------------------------------------//
00010 
00011 #ifndef BesMdcHit_h
00012 #define BesMdcHit_h 1
00013 
00014 #include "G4VHit.hh"
00015 #include "G4THitsCollection.hh"
00016 #include "G4Allocator.hh"
00017 #include "G4ThreeVector.hh"
00018 
00019 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00020 
00021 class BesMdcHit : public G4VHit
00022 {
00023 public:
00024   
00025   BesMdcHit();
00026   ~BesMdcHit();
00027   BesMdcHit(const BesMdcHit&);
00028   const BesMdcHit& operator=(const BesMdcHit&);
00029   int operator==(const BesMdcHit&) const;
00030   
00031   inline void* operator new(size_t);
00032   inline void  operator delete(void*);
00033   
00034   void Draw();
00035   void Print();
00036   
00037 public:
00038   void SetTrackID    (G4int track)      { trackID = track; };
00039   void SetLayerNo    (G4int layer)      { layerNo = layer; };  
00040   void SetCellNo     (G4int cell)       { cellNo =cell;};
00041   void SetEdep       (G4double de)      { edep = de; };
00042   void SetPos        (G4ThreeVector xyz){ pos = xyz; };
00043   void SetDriftD     (G4double distance){ driftD = distance;}; 
00044   void SetDriftT     (G4double time)    { driftT = time;}; 
00045   void SetGlobalT    (G4double time)    { globalT = time;};
00046   void SetTheta      (G4double angle)   { theta = angle;};
00047   void SetEnterAngle (G4double angle)   { enterAngle = angle;};
00048   void SetPosFlag    (G4int flag)       { posFlag = flag;};
00049 
00050   G4int GetTrackID()       { return trackID; };
00051   G4int GetLayerNo()       { return layerNo; };
00052   G4int GetCellNo()        { return cellNo;};
00053   G4double GetEdep()       { return edep; };      
00054   G4ThreeVector GetPos()   { return pos; };
00055   G4double GetDriftD()     { return driftD;}; 
00056   G4double GetDriftT()     { return driftT;};      
00057   G4double GetGlobalT()    { return globalT;};
00058   G4double GetTheta()      { return theta;};
00059   G4double GetEnterAngle() { return enterAngle;};
00060   G4int GetPosFlag()       { return posFlag;};
00061 
00062 private:
00063   G4int         trackID;
00064   G4int         layerNo;
00065   G4int         cellNo;
00066   G4double      edep;
00067   G4ThreeVector pos;
00068   G4double      driftD;
00069   G4double      driftT;
00070   G4double      globalT;
00071   G4double      theta;
00072   G4double      enterAngle;
00073   G4int         posFlag;      
00074 };
00075 
00076 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00077 
00078 typedef G4THitsCollection<BesMdcHit> BesMdcHitsCollection;
00079 
00080 extern G4Allocator<BesMdcHit> BesMdcHitAllocator;
00081 
00082 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00083 
00084 inline void* BesMdcHit::operator new(size_t)
00085 {
00086   void *aHit;
00087   aHit = (void *) BesMdcHitAllocator.MallocSingle();
00088   return aHit;
00089 }
00090 
00091 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00092 
00093 inline void BesMdcHit::operator delete(void *aHit)
00094 {
00095   BesMdcHitAllocator.FreeSingle((BesMdcHit*) aHit);
00096 }
00097 
00098 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00099 
00100 #endif
00101 
00102 

Generated on Tue Nov 29 23:14:26 2016 for BOSS_7.0.2 by  doxygen 1.4.7