Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:03

0001 #ifndef SimG4CMS_HcalTB06BeamSD_h
0002 #define SimG4CMS_HcalTB06BeamSD_h
0003 ///////////////////////////////////////////////////////////////////////////////
0004 // File: HcalTB06BeamSD.h
0005 // Description: Stores hits of Beam counters for H2 TB06 in appropriate
0006 //              containers
0007 ///////////////////////////////////////////////////////////////////////////////
0008 
0009 #include "SimG4CMS/Calo/interface/CaloSD.h"
0010 #include "FWCore/Framework/interface/Frameworkfwd.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
0012 #include "Geometry/HcalTestBeamData/interface/HcalTB06BeamParameters.h"
0013 #include "G4String.hh"
0014 
0015 #include <string>
0016 
0017 class G4Step;
0018 class G4Material;
0019 
0020 class HcalTB06BeamSD : public CaloSD {
0021 public:
0022   HcalTB06BeamSD(const std::string &,
0023                  const HcalTB06BeamParameters *,
0024                  const SensitiveDetectorCatalog &,
0025                  edm::ParameterSet const &,
0026                  const SimTrackManager *);
0027   ~HcalTB06BeamSD() override;
0028   uint32_t setDetUnitId(const G4Step *step) override;
0029 
0030 protected:
0031   double getEnergyDeposit(const G4Step *) override;
0032 
0033 private:
0034   bool isItWireChamber(const std::string &);
0035 
0036   bool useBirk_;
0037   double birk1_, birk2_, birk3_;
0038   const HcalTB06BeamParameters *hcalBeamPar_;
0039 };
0040 
0041 #endif  // HcalTB06BeamSD_h