Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:58

0001 #ifndef SimG4CMS_EcalTBH4BeamSD_h
0002 #define SimG4CMS_EcalTBH4BeamSD_h
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: EcalTBH4BeamSD.h
0005 // Description: Stores hits of TBH4 hodoscope fibers in appropriate
0006 //              container
0007 // Use in your sensitive detector builder:
0008 ///////////////////////////////////////////////////////////////////////////////
0009 
0010 #include "Geometry/EcalCommonData/interface/EcalNumberingScheme.h"
0011 #include "SimG4CMS/Calo/interface/CaloSD.h"
0012 
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
0015 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0016 
0017 #include <map>
0018 
0019 class EcalBaseNumber;
0020 
0021 class EcalTBH4BeamSD : public CaloSD {
0022 public:
0023   EcalTBH4BeamSD(const std::string &,
0024                  const SensitiveDetectorCatalog &,
0025                  edm::ParameterSet const &,
0026                  const SimTrackManager *);
0027   ~EcalTBH4BeamSD() override;
0028   uint32_t setDetUnitId(const G4Step *step) override;
0029   void setNumberingScheme(EcalNumberingScheme *scheme);
0030 
0031 protected:
0032   double getEnergyDeposit(const G4Step *) override;
0033 
0034 private:
0035   void getBaseNumber(const G4Step *aStep);
0036   EcalNumberingScheme *numberingScheme;
0037   bool useWeight;
0038   bool useBirk;
0039   double birk1, birk2, birk3;
0040   EcalBaseNumber theBaseNumber;
0041 };
0042 
0043 #endif  // EcalTBH4BeamSD_h