CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/SimG4CMS/Forward/interface/ZdcSD.h

Go to the documentation of this file.
00001 
00002 // File: ZdcSD.h
00003 // Date: 02.04
00004 // Description: Stores hits of Zdc in appropriate  container
00005 //
00007 #ifndef ZdcSD_h
00008 #define ZdcSD_h
00009 #include "SimG4CMS/Calo/interface/CaloSD.h"
00010 #include "SimG4CMS/Forward/interface/ZdcShowerLibrary.h"
00011 #include "SimG4CMS/Forward/interface/ZdcNumberingScheme.h"
00012 #undef debug
00013 
00014 class ZdcSD : public CaloSD {
00015 
00016 public:    
00017   ZdcSD(G4String, const DDCompactView &, SensitiveDetectorCatalog &, 
00018         edm::ParameterSet const &,const SimTrackManager*);
00019  
00020   virtual ~ZdcSD();
00021   virtual bool ProcessHits(G4Step * step,G4TouchableHistory * tHistory);
00022   virtual uint32_t setDetUnitId(G4Step* step);
00023   virtual double getEnergyDeposit(G4Step*, edm::ParameterSet const &);
00024  
00025   void setNumberingScheme(ZdcNumberingScheme* scheme);
00026   void getFromLibrary(G4Step * step);
00027  
00028 
00029 protected:
00030   virtual void initRun();
00031 private:    
00032 
00033   int verbosity;
00034   bool  useShowerLibrary,useShowerHits; 
00035   int   setTrackID(G4Step * step);
00036   double thFibDir;
00037   double zdcHitEnergyCut;
00038   ZdcShowerLibrary *    showerLibrary;
00039   ZdcNumberingScheme * numberingScheme;
00040 
00041   std::vector<ZdcShowerLibrary::Hit> hits;
00042 
00043 };
00044 
00045 #endif // ZdcSD_h