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 
15 #include <string>
16 
17 class HGCalDDDConstants;
18 class G4LogicalVolume;
19 class G4Step;
20 
21 class HGCalSD : public CaloSD, public Observer<const BeginOfJob *> {
22 public:
23  HGCalSD(const std::string &,
24  const HGCalDDDConstants *,
26  edm::ParameterSet const &,
27  const SimTrackManager *);
28  ~HGCalSD() override = default;
29 
30  uint32_t setDetUnitId(const G4Step *step) override;
31 
32 protected:
33  double getEnergyDeposit(const G4Step *) override;
34  using CaloSD::update;
35  void update(const BeginOfJob *) override;
36  void initRun() override;
37  bool filterHit(CaloG4Hit *, double) override;
38 
39 private:
40  uint32_t setDetUnitId(int, int, int, int, G4ThreeVector &);
41  bool isItinFidVolume(const G4ThreeVector &);
42 
44  std::unique_ptr<HGCalNumberingScheme> numberingScheme_;
45  std::unique_ptr<HGCGuardRing> guardRing_;
46  std::unique_ptr<HGCGuardRingPartial> guardRingPartial_;
47  std::unique_ptr<HGCMouseBite> mouseBite_;
57  const double tan30deg_, cos30deg_;
58  std::vector<double> angles_;
60 };
61 
62 #endif // HGCalSD_h
int verbose_
Definition: HGCalSD.h:56
double distanceFromEdge_
Definition: HGCalSD.h:51
int levelT2_
Definition: HGCalSD.h:53
double slopeMin_
Definition: HGCalSD.h:51
Definition: CaloSD.h:40
HGCalSD(const std::string &, const HGCalDDDConstants *, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HGCalSD.cc:31
std::unique_ptr< HGCalNumberingScheme > numberingScheme_
Definition: HGCalSD.h:44
std::string nameX_
Definition: HGCalSD.h:49
double mouseBiteCut_
Definition: HGCalSD.h:52
void initRun() override
Definition: HGCalSD.cc:278
double getEnergyDeposit(const G4Step *) override
Definition: HGCalSD.cc:102
bool rejectMB_
Definition: HGCalSD.h:55
DetId::Detector mydet_
Definition: HGCalSD.h:48
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCalSD.cc:133
const double cos30deg_
Definition: HGCalSD.h:57
std::string missingFile_
Definition: HGCalSD.h:59
bool storeAllG4Hits_
Definition: HGCalSD.h:54
std::vector< double > angles_
Definition: HGCalSD.h:58
const HGCalDDDConstants * hgcons_
Definition: HGCalSD.h:43
const double tan30deg_
Definition: HGCalSD.h:57
bool waferRot_
Definition: HGCalSD.h:55
bool isItinFidVolume(const G4ThreeVector &)
~HGCalSD() override=default
bool checkID_
Definition: HGCalSD.h:55
int cornerMinMask_
Definition: HGCalSD.h:53
Detector
Definition: DetId.h:24
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HGCalSD.h:50
double weight_
Definition: HGCalSD.h:52
bool fiducialCut_
Definition: HGCalSD.h:55
std::unique_ptr< HGCGuardRingPartial > guardRingPartial_
Definition: HGCalSD.h:46
bool filterHit(CaloG4Hit *, double) override
Definition: HGCalSD.cc:280
int useSimWt_
Definition: HGCalSD.h:56
std::unique_ptr< HGCGuardRing > guardRing_
Definition: HGCalSD.h:45
step
Definition: StallMonitor.cc:98
int levelT1_
Definition: HGCalSD.h:53
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HGCalSD.h:47
double eminHit_
Definition: HGCalSD.h:51
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:687
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCalSD.cc:241