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 edm::EventSetup &,
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 
48  std::unique_ptr<HGCNumberingScheme> numberingScheme_;
49  std::unique_ptr<HGCMouseBite> mouseBite_;
50  double eminHit_;
52  double slopeMin_;
53  int levelT_;
55  double mouseBiteCut_;
56  std::vector<double> angles_;
57 
58  TTree *tree_;
59  uint32_t t_EventID_;
60  std::vector<int> t_Layer_, t_Parcode_;
61  std::vector<double> t_dEStep1_, t_dEStep2_, t_TrackE_;
62  std::vector<double> t_Angle_;
63 };
64 
65 #endif // HGCSD_h
std::vector< double > t_TrackE_
Definition: HGCSD.h:61
double getEnergyDeposit(const G4Step *) override
Definition: HGCSD.cc:99
std::vector< double > t_dEStep1_
Definition: HGCSD.h:61
std::vector< double > t_dEStep2_
Definition: HGCSD.h:61
int levelT_
Definition: HGCSD.h:53
bool isItinFidVolume(const G4ThreeVector &)
Definition: HGCSD.h:44
double mouseBiteCut_
Definition: HGCSD.h:55
Definition: CaloSD.h:38
std::vector< int > t_Layer_
Definition: HGCSD.h:60
std::string nameX_
Definition: HGCSD.h:46
std::vector< double > angles_
Definition: HGCSD.h:56
bool storeAllG4Hits_
Definition: HGCSD.h:54
ForwardSubdetector
bool waferRot_
Definition: HGCSD.h:54
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HGCSD.h:47
double slopeMin_
Definition: HGCSD.h:52
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HGCSD.h:49
void initRun() override
Definition: HGCSD.cc:221
std::vector< int > t_Parcode_
Definition: HGCSD.h:60
HGCSD(const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HGCSD.cc:34
std::unique_ptr< HGCNumberingScheme > numberingScheme_
Definition: HGCSD.h:48
void initEvent(const BeginOfEvent *) override
Definition: HGCSD.cc:237
double eminHit_
Definition: HGCSD.h:50
std::vector< double > t_Angle_
Definition: HGCSD.h:62
bool rejectMB_
Definition: HGCSD.h:54
TTree * tree_
Definition: HGCSD.h:58
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCSD.cc:143
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCSD.cc:199
Definition: HGCSD.h:22
bool filterHit(CaloG4Hit *, double) override
Definition: HGCSD.cc:257
step
Definition: StallMonitor.cc:94
~HGCSD() override=default
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:51
void endEvent() override
Definition: HGCSD.cc:250
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:456
uint32_t t_EventID_
Definition: HGCSD.h:59