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 #include <TTree.h>
17 
18 class G4LogicalVolume;
19 class G4Material;
20 class G4Step;
21 
22 class HGCSD : public CaloSD, public Observer<const BeginOfJob *> {
23 public:
24  HGCSD(const std::string &,
25  const HGCalDDDConstants *,
27  edm::ParameterSet const &,
28  const SimTrackManager *);
29  ~HGCSD() override = default;
30 
31  uint32_t setDetUnitId(const G4Step *step) override;
32 
33 protected:
34  double getEnergyDeposit(const G4Step *) override;
35  using CaloSD::update;
36  void update(const BeginOfJob *) override;
37  void initRun() override;
38  void initEvent(const BeginOfEvent *) override;
39  void endEvent() override;
40  bool filterHit(CaloG4Hit *, double) override;
41 
42 private:
43  uint32_t setDetUnitId(ForwardSubdetector &, int, int, int, int, G4ThreeVector &);
44  bool isItinFidVolume(const G4ThreeVector &) { return true; }
45 
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  TTree *tree_;
60  uint32_t t_EventID_;
61  std::vector<int> t_Layer_, t_Parcode_;
62  std::vector<double> t_dEStep1_, t_dEStep2_, t_TrackE_;
63  std::vector<double> t_Angle_;
64 };
65 
66 #endif // HGCSD_h
std::vector< double > t_TrackE_
Definition: HGCSD.h:62
double getEnergyDeposit(const G4Step *) override
Definition: HGCSD.cc:97
std::vector< double > t_dEStep1_
Definition: HGCSD.h:62
std::vector< double > t_dEStep2_
Definition: HGCSD.h:62
int levelT_
Definition: HGCSD.h:54
bool isItinFidVolume(const G4ThreeVector &)
Definition: HGCSD.h:44
double mouseBiteCut_
Definition: HGCSD.h:56
Definition: CaloSD.h:40
std::vector< int > t_Layer_
Definition: HGCSD.h:61
std::string nameX_
Definition: HGCSD.h:47
std::vector< double > angles_
Definition: HGCSD.h:57
bool storeAllG4Hits_
Definition: HGCSD.h:55
ForwardSubdetector
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
const HGCalDDDConstants * hgcons_
Definition: HGCSD.h:46
void initRun() override
Definition: HGCSD.cc:219
std::vector< int > t_Parcode_
Definition: HGCSD.h:61
std::unique_ptr< HGCNumberingScheme > numberingScheme_
Definition: HGCSD.h:49
void initEvent(const BeginOfEvent *) override
Definition: HGCSD.cc:235
double eminHit_
Definition: HGCSD.h:51
std::vector< double > t_Angle_
Definition: HGCSD.h:63
bool rejectMB_
Definition: HGCSD.h:55
TTree * tree_
Definition: HGCSD.h:59
HGCSD(const std::string &, const HGCalDDDConstants *, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HGCSD.cc:32
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCSD.cc:141
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCSD.cc:201
Definition: HGCSD.h:22
bool filterHit(CaloG4Hit *, double) override
Definition: HGCSD.cc:255
step
Definition: StallMonitor.cc:98
~HGCSD() override=default
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:52
void endEvent() override
Definition: HGCSD.cc:248
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:679
uint32_t t_EventID_
Definition: HGCSD.h:60