File indexing completed on 2024-12-20 03:14:13
0001 #ifndef SimG4CMSForward_MtdSD_h
0002 #define SimG4CMSForward_MtdSD_h
0003
0004 #include "SimG4CMS/Forward/interface/TimingSD.h"
0005 #include "SimG4CMS/Forward/interface/MtdHitCategory.h"
0006
0007 #include "FWCore/Framework/interface/Frameworkfwd.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
0009
0010 #include "Geometry/MTDCommonData/interface/MTDNumberingScheme.h"
0011 #include "Geometry/MTDCommonData/interface/MTDBaseNumber.h"
0012
0013 #include <string>
0014 #include <vector>
0015
0016 class G4Step;
0017 class SimTrackManager;
0018
0019
0020
0021 class MtdSD : public TimingSD {
0022 public:
0023 MtdSD(const std::string &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *);
0024
0025 ~MtdSD() override;
0026
0027 uint32_t setDetUnitId(const G4Step *) override;
0028
0029 protected:
0030 int getTrackID(const G4Track *) override;
0031
0032 void setHitClassID(const G4Step *) override;
0033
0034 private:
0035 double energyCut;
0036 double energyHistoryCut;
0037
0038 void setNumberingScheme(MTDNumberingScheme *);
0039 void getBaseNumber(const G4Step *);
0040
0041 MTDNumberingScheme *numberingScheme;
0042 MTDBaseNumber theBaseNumber;
0043 bool isBTL;
0044 bool isETL;
0045 };
0046
0047 #endif