CMS 3D CMS Logo

HGCSD.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HGCSD_h
2 #define SimG4CMS_HGCSD_h
3 // File: HGCSD.h
5 // Description: Stores hits of the High Granularity Calorimeter (HGC) in the
6 // appropriate container
8 
14 
15 #include <string>
16 
17 class DDCompactView;
18 class DDFilteredView;
19 class G4LogicalVolume;
20 class G4Material;
21 class G4Step;
22 
23 class HGCSD : public CaloSD, public Observer<const BeginOfJob *> {
24 
25 public:
26 
27  HGCSD(const std::string& , const DDCompactView &,
29  edm::ParameterSet const &, const SimTrackManager*);
30  ~HGCSD() override = default;
31 
32  uint32_t setDetUnitId(const G4Step* step) override;
33 
34 protected:
35 
36  double getEnergyDeposit(const G4Step* ) override;
37  void update(const BeginOfJob *) override;
38  void initRun() override;
39  bool filterHit(CaloG4Hit*, double) override;
40 
41 private:
42 
43  uint32_t setDetUnitId(ForwardSubdetector&, int, int,
44  int, int, G4ThreeVector &);
45  bool isItinFidVolume (const G4ThreeVector&) {return true;}
46 
49  std::unique_ptr<HGCNumberingScheme> numberingScheme_;
50  std::unique_ptr<HGCMouseBite> mouseBite_;
51  double eminHit_;
53  double slopeMin_;
54  int levelT_;
56  double mouseBiteCut_;
57  std::vector<double> angles_;
58 };
59 
60 #endif // HGCSD_h
double getEnergyDeposit(const G4Step *) override
Definition: HGCSD.cc:97
int levelT_
Definition: HGCSD.h:54
bool isItinFidVolume(const G4ThreeVector &)
Definition: HGCSD.h:45
double mouseBiteCut_
Definition: HGCSD.h:56
Definition: CaloSD.h:37
std::string nameX_
Definition: HGCSD.h:47
std::vector< double > angles_
Definition: HGCSD.h:57
bool storeAllG4Hits_
Definition: HGCSD.h:55
ForwardSubdetector
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:83
bool waferRot_
Definition: HGCSD.h:55
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HGCSD.h:48
double slopeMin_
Definition: HGCSD.h:53
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HGCSD.h:50
void initRun() override
Definition: HGCSD.cc:213
std::unique_ptr< HGCNumberingScheme > numberingScheme_
Definition: HGCSD.h:49
double eminHit_
Definition: HGCSD.h:51
bool rejectMB_
Definition: HGCSD.h:55
HGCSD(const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HGCSD.cc:36
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCSD.cc:124
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCSD.cc:187
Definition: HGCSD.h:23
bool filterHit(CaloG4Hit *, double) override
Definition: HGCSD.cc:216
step
~HGCSD() override=default
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:52