CMS 3D CMS Logo

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 DDCompactView;
17 class HGCalDDDConstants;
18 class G4LogicalVolume;
19 class G4Step;
20 
21 class HFNoseSD : public CaloSD, public Observer<const BeginOfJob *> {
22 
23 public:
24 
25  HFNoseSD(const std::string& , const DDCompactView &,
27  edm::ParameterSet const &, const SimTrackManager*);
28  ~HFNoseSD() override = default;
29 
30  uint32_t setDetUnitId(const G4Step* step) override;
31 
32 protected:
33 
34  double getEnergyDeposit(const G4Step*) override;
35  using CaloSD::update;
36  void update(const BeginOfJob *) override;
37  void initRun() override;
38  bool filterHit(CaloG4Hit*, double) override;
39 
40 private:
41 
42  uint32_t setDetUnitId(int, int, int, int, G4ThreeVector &);
43  bool isItinFidVolume (const G4ThreeVector&);
44 
46  std::unique_ptr<HFNoseNumberingScheme> numberingScheme_;
47  std::unique_ptr<HGCMouseBite> mouseBite_;
55  const double tan30deg_;
56  std::vector<double> angles_;
57 };
58 
59 #endif // HFNoseSD_h
double eminHit_
Definition: HFNoseSD.h:50
std::unique_ptr< HFNoseNumberingScheme > numberingScheme_
Definition: HFNoseSD.h:46
int cornerMinMask_
Definition: HFNoseSD.h:52
Definition: CaloSD.h:37
HFNoseSD(const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HFNoseSD.cc:30
bool storeAllG4Hits_
Definition: HFNoseSD.h:53
int levelT1_
Definition: HFNoseSD.h:52
bool fiducialCut_
Definition: HFNoseSD.h:54
double distanceFromEdge_
Definition: HFNoseSD.h:51
uint32_t setDetUnitId(const G4Step *step) override
Definition: HFNoseSD.cc:119
double mouseBiteCut_
Definition: HFNoseSD.h:51
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
bool rejectMB_
Definition: HFNoseSD.h:54
bool waferRot_
Definition: HFNoseSD.h:54
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HFNoseSD.h:49
double weight_
Definition: HFNoseSD.h:50
~HFNoseSD() override=default
bool isItinFidVolume(const G4ThreeVector &)
Definition: HFNoseSD.cc:237
const double tan30deg_
Definition: HFNoseSD.h:55
int levelT2_
Definition: HFNoseSD.h:52
const HGCalDDDConstants * hgcons_
Definition: HFNoseSD.h:45
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HFNoseSD.cc:190
double getEnergyDeposit(const G4Step *) override
Definition: HFNoseSD.cc:81
std::string nameX_
Definition: HFNoseSD.h:48
void initRun() override
Definition: HFNoseSD.cc:220
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HFNoseSD.h:47
step
std::vector< double > angles_
Definition: HFNoseSD.h:56
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:484
bool filterHit(CaloG4Hit *, double) override
Definition: HFNoseSD.cc:223
double slopeMin_
Definition: HFNoseSD.h:50