File indexing completed on 2024-04-06 12:30:06
0001 #ifndef SimG4CMS_HGCalTestBeam_AHCalSD_H
0002 #define SimG4CMS_HGCalTestBeam_AHCalSD_H 1
0003
0004 #include "SimG4CMS/Calo/interface/CaloSD.h"
0005 #include "SimG4CMS/Calo/interface/CaloG4Hit.h"
0006
0007 #include "FWCore/Framework/interface/Frameworkfwd.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009
0010 #include "G4Step.hh"
0011
0012 #include <string>
0013
0014 class AHCalSD : public CaloSD {
0015 public:
0016 AHCalSD(const std::string&, const SensitiveDetectorCatalog&, edm::ParameterSet const&, const SimTrackManager*);
0017 ~AHCalSD() override = default;
0018 uint32_t setDetUnitId(const G4Step* step) override;
0019 bool unpackIndex(const uint32_t& idx, int& row, int& col, int& depth);
0020
0021 protected:
0022 double getEnergyDeposit(const G4Step*) override;
0023 bool filterHit(CaloG4Hit*, double) override;
0024
0025 private:
0026 bool useBirk;
0027 double birk1, birk2, birk3, betaThr;
0028 double eminHit;
0029 };
0030 #endif