CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HFNoseSD.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HFNoseSD_h
2 #define SimG4CMS_HFNoseSD_h
3 // File: HFNoseSD.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 HFNoseSD : public CaloSD, public Observer<const BeginOfJob *> {
21 public:
22  HFNoseSD(const std::string &,
23  const HGCalDDDConstants *,
25  edm::ParameterSet const &,
26  const SimTrackManager *);
27  ~HFNoseSD() 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<HFNoseNumberingScheme> numberingScheme_;
44  std::unique_ptr<HGCMouseBite> mouseBite_;
52  const double tan30deg_;
53  std::vector<double> angles_;
54 };
55 
56 #endif // HFNoseSD_h
double eminHit_
Definition: HFNoseSD.h:47
std::unique_ptr< HFNoseNumberingScheme > numberingScheme_
Definition: HFNoseSD.h:43
int cornerMinMask_
Definition: HFNoseSD.h:49
Definition: CaloSD.h:40
bool storeAllG4Hits_
Definition: HFNoseSD.h:50
int levelT1_
Definition: HFNoseSD.h:49
bool fiducialCut_
Definition: HFNoseSD.h:51
double distanceFromEdge_
Definition: HFNoseSD.h:48
uint32_t setDetUnitId(const G4Step *step) override
Definition: HFNoseSD.cc:112
double mouseBiteCut_
Definition: HFNoseSD.h:48
bool rejectMB_
Definition: HFNoseSD.h:51
bool waferRot_
Definition: HFNoseSD.h:51
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HFNoseSD.h:46
double weight_
Definition: HFNoseSD.h:47
~HFNoseSD() override=default
HFNoseSD(const std::string &, const HGCalDDDConstants *, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HFNoseSD.cc:27
bool isItinFidVolume(const G4ThreeVector &)
Definition: HFNoseSD.cc:210
const double tan30deg_
Definition: HFNoseSD.h:52
int levelT2_
Definition: HFNoseSD.h:49
const HGCalDDDConstants * hgcons_
Definition: HFNoseSD.h:42
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HFNoseSD.cc:172
double getEnergyDeposit(const G4Step *) override
Definition: HFNoseSD.cc:81
std::string nameX_
Definition: HFNoseSD.h:45
void initRun() override
Definition: HFNoseSD.cc:195
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HFNoseSD.h:44
step
Definition: StallMonitor.cc:94
std::vector< double > angles_
Definition: HFNoseSD.h:53
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:679
bool filterHit(CaloG4Hit *, double) override
Definition: HFNoseSD.cc:197
double slopeMin_
Definition: HFNoseSD.h:47