CMS 3D CMS Logo

HGCalSD.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HGCalSD_h
2 #define SimG4CMS_HGCalSD_h
3 // File: HGCalSD.h
5 // Description: Stores hits of the High Granularity Calorimeter (HGC) in the
6 // appropriate container (post TDR version)
8 
13 
14 #include <string>
15 
16 class HGCalDDDConstants;
17 class G4LogicalVolume;
18 class G4Step;
19 
20 class HGCalSD : public CaloSD, public Observer<const BeginOfJob *> {
21 public:
22  HGCalSD(const std::string &,
23  const edm::EventSetup &,
25  edm::ParameterSet const &,
26  const SimTrackManager *);
27  ~HGCalSD() override = default;
28 
29  uint32_t setDetUnitId(const G4Step *step) override;
30 
31 protected:
32  double getEnergyDeposit(const G4Step *) override;
33  using CaloSD::update;
34  void update(const BeginOfJob *) override;
35  void initRun() override;
36  bool filterHit(CaloG4Hit *, double) override;
37 
38 private:
39  uint32_t setDetUnitId(int, int, int, int, G4ThreeVector &);
40  bool isItinFidVolume(const G4ThreeVector &);
41 
43  std::unique_ptr<HGCalNumberingScheme> numberingScheme_;
44  std::unique_ptr<HGCMouseBite> mouseBite_;
53  const double tan30deg_;
54  std::vector<double> angles_;
55 };
56 
57 #endif // HGCalSD_h
HGCalSD::storeAllG4Hits_
bool storeAllG4Hits_
Definition: HGCalSD.h:51
SimTrackManager
Definition: SimTrackManager.h:35
Observer
Definition: Observer.h:23
BeginOfJob.h
step
step
Definition: StallMonitor.cc:94
HGCalSD::tan30deg_
const double tan30deg_
Definition: HGCalSD.h:53
HGCalSD::numberingScheme_
std::unique_ptr< HGCalNumberingScheme > numberingScheme_
Definition: HGCalSD.h:43
HGCalSD::~HGCalSD
~HGCalSD() override=default
CaloSD::update
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:539
HGCalSD::cornerMinMask_
int cornerMinMask_
Definition: HGCalSD.h:50
HGCalSD::geom_mode_
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HGCalSD.h:47
HGCalSD::nameX_
std::string nameX_
Definition: HGCalSD.h:46
HGCalSD::fiducialCut_
bool fiducialCut_
Definition: HGCalSD.h:52
HGCalDDDConstants
Definition: HGCalDDDConstants.h:26
HGCalNumberingScheme.h
HGCalSD
Definition: HGCalSD.h:20
HGCalSD::HGCalSD
HGCalSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HGCalSD.cc:31
HGCalSD::distanceFromEdge_
double distanceFromEdge_
Definition: HGCalSD.h:48
SensitiveDetectorCatalog
Definition: SensitiveDetectorCatalog.h:10
HGCalSD::eminHit_
double eminHit_
Definition: HGCalSD.h:48
BeginOfJob
Definition: BeginOfJob.h:8
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCalSD::setDetUnitId
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCalSD.cc:128
HGCalSD::mouseBite_
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HGCalSD.h:44
HGCalSD::update
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCalSD.cc:192
edm::ParameterSet
Definition: ParameterSet.h:47
CaloSD.h
HGCalSD::slopeMin_
double slopeMin_
Definition: HGCalSD.h:48
HGCalSD::levelT2_
int levelT2_
Definition: HGCalSD.h:50
HGCalGeometryMode::GeometryMode
GeometryMode
Definition: HGCalGeometryMode.h:25
HGCalSD::getEnergyDeposit
double getEnergyDeposit(const G4Step *) override
Definition: HGCalSD.cc:97
DetId::Detector
Detector
Definition: DetId.h:24
edm::EventSetup
Definition: EventSetup.h:57
CaloG4Hit
Definition: CaloG4Hit.h:32
HGCalSD::mouseBiteCut_
double mouseBiteCut_
Definition: HGCalSD.h:49
HGCalSD::isItinFidVolume
bool isItinFidVolume(const G4ThreeVector &)
Definition: HGCalSD.cc:238
HGCalSD::filterHit
bool filterHit(CaloG4Hit *, double) override
Definition: HGCalSD.cc:221
HGCalSD::mydet_
DetId::Detector mydet_
Definition: HGCalSD.h:45
HGCMouseBite.h
HGCalSD::initRun
void initRun() override
Definition: HGCalSD.cc:219
HGCalSD::waferRot_
bool waferRot_
Definition: HGCalSD.h:52
HGCalSD::hgcons_
const HGCalDDDConstants * hgcons_
Definition: HGCalSD.h:42
HGCalSD::weight_
double weight_
Definition: HGCalSD.h:49
HGCalSD::rejectMB_
bool rejectMB_
Definition: HGCalSD.h:52
CaloSD
Definition: CaloSD.h:38
HGCalSD::angles_
std::vector< double > angles_
Definition: HGCalSD.h:54
HGCalSD::levelT1_
int levelT1_
Definition: HGCalSD.h:50