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
HGCSD::t_dEStep2_
std::vector< double > t_dEStep2_
Definition: HGCSD.h:62
HGCSD::levelT_
int levelT_
Definition: HGCSD.h:54
SimTrackManager
Definition: SimTrackManager.h:35
HGCSD::~HGCSD
~HGCSD() override=default
Observer
Definition: Observer.h:23
HGCSD::mouseBiteCut_
double mouseBiteCut_
Definition: HGCSD.h:56
BeginOfJob.h
step
step
Definition: StallMonitor.cc:94
HGCSD::nameX_
std::string nameX_
Definition: HGCSD.h:47
HGCNumberingScheme.h
ForwardSubdetector
ForwardSubdetector
Definition: ForwardSubdetector.h:4
HGCSD::waferRot_
bool waferRot_
Definition: HGCSD.h:55
CaloSD::update
void update(const BeginOfRun *) override
This routine will be called when the appropriate signal arrives.
Definition: CaloSD.cc:705
HGCSD::angles_
std::vector< double > angles_
Definition: HGCSD.h:57
HGCSD::storeAllG4Hits_
bool storeAllG4Hits_
Definition: HGCSD.h:55
HGCSD::isItinFidVolume
bool isItinFidVolume(const G4ThreeVector &)
Definition: HGCSD.h:44
HGCSD::slopeMin_
double slopeMin_
Definition: HGCSD.h:53
HGCalDDDConstants
Definition: HGCalDDDConstants.h:27
HGCSD::initRun
void initRun() override
Definition: HGCSD.cc:219
SensitiveDetectorCatalog
Definition: SensitiveDetectorCatalog.h:10
BeginOfJob
Definition: BeginOfJob.h:8
HGCSD::t_Parcode_
std::vector< int > t_Parcode_
Definition: HGCSD.h:61
HGCSD
Definition: HGCSD.h:22
HGCSD::geom_mode_
HGCalGeometryMode::GeometryMode geom_mode_
Definition: HGCSD.h:48
edm::ParameterSet
Definition: ParameterSet.h:47
HGCSD::hgcons_
const HGCalDDDConstants * hgcons_
Definition: HGCSD.h:46
CaloSD.h
HGCSD::mouseBite_
std::unique_ptr< HGCMouseBite > mouseBite_
Definition: HGCSD.h:50
BeginOfEvent.h
HGCalGeometryMode::GeometryMode
GeometryMode
Definition: HGCalGeometryMode.h:25
HGCSD::HGCSD
HGCSD(const std::string &, const HGCalDDDConstants *, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: HGCSD.cc:32
HGCSD::numberingScheme_
std::unique_ptr< HGCNumberingScheme > numberingScheme_
Definition: HGCSD.h:49
BeginOfEvent
Definition: BeginOfEvent.h:6
HGCSD::setDetUnitId
uint32_t setDetUnitId(const G4Step *step) override
Definition: HGCSD.cc:141
CaloG4Hit
Definition: CaloG4Hit.h:32
HGCSD::update
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCSD.cc:201
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HGCSD::eminHit_
double eminHit_
Definition: HGCSD.h:51
HGCSD::rejectMB_
bool rejectMB_
Definition: HGCSD.h:55
HGCSD::initEvent
void initEvent(const BeginOfEvent *) override
Definition: HGCSD.cc:235
HGCMouseBite.h
HGCSD::endEvent
void endEvent() override
Definition: HGCSD.cc:248
HGCSD::t_Angle_
std::vector< double > t_Angle_
Definition: HGCSD.h:63
HGCSD::tree_
TTree * tree_
Definition: HGCSD.h:59
HGCSD::t_TrackE_
std::vector< double > t_TrackE_
Definition: HGCSD.h:62
HGCSD::myFwdSubdet_
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:52
HGCSD::t_dEStep1_
std::vector< double > t_dEStep1_
Definition: HGCSD.h:62
HGCSD::getEnergyDeposit
double getEnergyDeposit(const G4Step *) override
Definition: HGCSD.cc:97
HGCSD::filterHit
bool filterHit(CaloG4Hit *, double) override
Definition: HGCSD.cc:255
HGCSD::t_EventID_
uint32_t t_EventID_
Definition: HGCSD.h:60
CaloSD
Definition: CaloSD.h:39
HGCSD::t_Layer_
std::vector< int > t_Layer_
Definition: HGCSD.h:61