File indexing completed on 2024-04-06 12:29:58
0001 #ifndef SimG4CMS_EcalTBH4BeamSD_h
0002 #define SimG4CMS_EcalTBH4BeamSD_h
0003
0004
0005
0006
0007
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