00001 #ifndef SimG4CMS_EcalTBH4BeamSD_h 00002 #define SimG4CMS_EcalTBH4BeamSD_h 00003 00004 // File: EcalTBH4BeamSD.h 00005 // Description: Stores hits of TBH4 hodoscope fibers in appropriate 00006 // container 00007 // Use in your sensitive detector builder: 00008 // $Id: EcalTBH4BeamSD.h,v 1.4 2008/05/12 09:28:41 sunanda Exp $ 00010 00011 #include "SimG4CMS/Calo/interface/CaloSD.h" 00012 #include "Geometry/EcalCommonData/interface/EcalNumberingScheme.h" 00013 00014 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00015 00016 #include "G4String.hh" 00017 #include <map> 00018 00019 class EcalBaseNumber; 00020 00021 class EcalTBH4BeamSD : public CaloSD { 00022 00023 public: 00024 00025 EcalTBH4BeamSD(G4String, const DDCompactView &, SensitiveDetectorCatalog &, 00026 edm::ParameterSet const &, const SimTrackManager*); 00027 virtual ~EcalTBH4BeamSD(); 00028 virtual double getEnergyDeposit(G4Step*); 00029 virtual uint32_t setDetUnitId(G4Step* step); 00030 void setNumberingScheme(EcalNumberingScheme* scheme); 00031 00032 private: 00033 00034 void getBaseNumber(const G4Step* aStep); 00035 EcalNumberingScheme *numberingScheme; 00036 bool useWeight; 00037 bool useBirk; 00038 double birk1, birk2, birk3; 00039 EcalBaseNumber theBaseNumber; 00040 00041 }; 00042 00043 #endif // EcalTBH4BeamSD_h