File indexing completed on 2024-04-06 12:30:03
0001 #ifndef SimG4CMS_HcalTB06BeamSD_h
0002 #define SimG4CMS_HcalTB06BeamSD_h
0003
0004
0005
0006
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