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 "G4String.hh"
16 #include <map>
17 #include <string>
18 #include <TH1F.h>
19 
20 class DDCompactView;
21 class DDFilteredView;
22 class G4LogicalVolume;
23 class G4Material;
24 class G4Step;
25 
26 class HGCSD : public CaloSD, public Observer<const BeginOfJob *> {
27 
28 public:
29 
30  HGCSD(const std::string& , const DDCompactView &, const SensitiveDetectorCatalog &,
31  edm::ParameterSet const &, const SimTrackManager*);
32  ~HGCSD() override;
33  bool ProcessHits(G4Step * , G4TouchableHistory * ) override;
34  double getEnergyDeposit(G4Step* ) override;
35  uint32_t setDetUnitId(const G4Step* step) override;
36 
37 protected:
38 
39  void update(const BeginOfJob *) override;
40  void initRun() override;
41  bool filterHit(CaloG4Hit*, double) override;
42 
43 private:
44 
45  uint32_t setDetUnitId(ForwardSubdetector&, int, int,
46  int, int, G4ThreeVector &);
47  bool isItinFidVolume (const G4ThreeVector&) {return true;}
48  int setTrackID(const G4Step * step);
49 
51 
55  G4int mumPDG, mupPDG;
56  double eminHit;
58  double slopeMin_;
59  int levelT_;
61  double mouseBiteCut_;
62  std::vector<double> angles_;
63 };
64 
65 #endif // HGCSD_h
HGCalGeometryMode::GeometryMode m_mode
Definition: HGCSD.h:52
int levelT_
Definition: HGCSD.h:59
bool isItinFidVolume(const G4ThreeVector &)
Definition: HGCSD.h:47
HGCNumberingScheme * numberingScheme
Definition: HGCSD.h:53
double mouseBiteCut_
Definition: HGCSD.h:61
Definition: CaloSD.h:42
~HGCSD() override
Definition: HGCSD.cc:89
std::vector< double > angles_
Definition: HGCSD.h:62
bool ProcessHits(G4Step *, G4TouchableHistory *) override
Definition: HGCSD.cc:94
bool storeAllG4Hits_
Definition: HGCSD.h:60
ForwardSubdetector
type of data representation of DDCompactView
Definition: DDCompactView.h:90
double getEnergyDeposit(G4Step *) override
Definition: HGCSD.cc:126
bool waferRot_
Definition: HGCSD.h:60
G4int mupPDG
Definition: HGCSD.h:55
double eminHit
Definition: HGCSD.h:56
double slopeMin_
Definition: HGCSD.h:58
void initRun() override
Definition: HGCSD.cc:219
bool rejectMB_
Definition: HGCSD.h:60
std::string nameX
Definition: HGCSD.h:50
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:134
void update(const BeginOfJob *) override
This routine will be called when the appropriate signal arrives.
Definition: HGCSD.cc:195
Definition: HGCSD.h:26
bool filterHit(CaloG4Hit *, double) override
Definition: HGCSD.cc:230
step
ForwardSubdetector myFwdSubdet_
Definition: HGCSD.h:57
int setTrackID(const G4Step *step)
Definition: HGCSD.cc:241
G4int mumPDG
Definition: HGCSD.h:55
HGCMouseBite * mouseBite_
Definition: HGCSD.h:54