-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
HGCSD.h
52 lines (40 loc) · 1.62 KB
/
HGCSD.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef SimG4CMS_HGCSD_h
#define SimG4CMS_HGCSD_h
///////////////////////////////////////////////////////////////////////////////
// File: HGCSD.h
// Description: Stores hits of the High Granularity Calorimeter (HGC) in the
// appropriate container
///////////////////////////////////////////////////////////////////////////////
#include "SimG4CMS/Calo/interface/CaloSD.h"
#include "SimG4CMS/Calo/interface/HGCNumberingScheme.h"
#include "DetectorDescription/Core/interface/DDsvalues.h"
#include "G4String.hh"
#include <map>
#include <string>
#include <TH1F.h>
class DDCompactView;
class DDFilteredView;
class G4LogicalVolume;
class G4Material;
class G4Step;
class HGCSD : public CaloSD {
public:
HGCSD(G4String , const DDCompactView &, SensitiveDetectorCatalog &,
edm::ParameterSet const &, const SimTrackManager*);
virtual ~HGCSD();
virtual bool ProcessHits(G4Step * , G4TouchableHistory * );
virtual double getEnergyDeposit(G4Step* );
virtual uint32_t setDetUnitId(G4Step* step);
protected:
virtual void initRun();
virtual bool filterHit(CaloG4Hit*, double);
private:
uint32_t setDetUnitId(ForwardSubdetector &, int &, int &, int &, G4ThreeVector &);
bool isItinFidVolume (G4ThreeVector&) {return true;}
int setTrackID(G4Step * step);
HGCNumberingScheme* numberingScheme;
G4int verbosity, mumPDG, mupPDG;
double eminHit;
ForwardSubdetector myFwdSubdet_;
};
#endif // HGCSD_h