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