CMS 3D CMS Logo

Bcm1fSD.h
Go to the documentation of this file.
1 #ifndef Forward_Bcm1fSD_h
2 #define Forward_Bcm1fSD_h
3 
4 // system include files
5 
6 // user include files
7 
13 
16 
17 #include "G4Step.hh"
18 #include "G4StepPoint.hh"
19 #include "G4Track.hh"
20 
21 #include <string>
22 
23 class TrackInformation;
24 class SimTrackManager;
25 class TrackingSlaveSD;
26 class UpdatablePSimHit;
29 
31  public Observer<const BeginOfEvent*>,
32  public Observer<const BeginOfTrack*>,
33  public Observer<const BeginOfJob*> {
34 
35 public:
36 
37  Bcm1fSD(const std::string&, const DDCompactView &,
39  edm::ParameterSet const &, const SimTrackManager*);
40  ~Bcm1fSD() override;
41 
42  bool ProcessHits(G4Step *,G4TouchableHistory *) override;
43  uint32_t setDetUnitId(const G4Step*) override;
44  void EndOfEvent(G4HCofThisEvent*) override;
45 
46  void fillHits(edm::PSimHitContainer&, const std::string&) override;
47  void clearHits() override;
48 
49 private:
50 
51  virtual void sendHit();
52  virtual void updateHit(G4Step *);
53  virtual bool newHit(G4Step *);
54  virtual bool closeHit(G4Step *);
55  virtual void createHit(G4Step *);
56  void update(const BeginOfEvent *) override;
57  void update(const BeginOfTrack *) override;
58  void update(const BeginOfJob *) override;
60 
61 private:
62 
67  float energyCut;
69 
72  G4VPhysicalVolume * oldVolume;
73  uint32_t lastId;
74  unsigned int lastTrack;
75  int eventno;
77 
78 };
79 
80 #endif
UpdatablePSimHit * mySimHit
Definition: Bcm1fSD.h:66
Local3DPoint globalExitPoint
Definition: Bcm1fSD.h:71
bool ProcessHits(G4Step *, G4TouchableHistory *) override
Definition: Bcm1fSD.cc:60
G4TrackToParticleID * myG4TrackToParticleID
Definition: Bcm1fSD.h:65
uint32_t lastId
Definition: Bcm1fSD.h:73
G4VPhysicalVolume * oldVolume
Definition: Bcm1fSD.h:72
void clearHits() override
Definition: Bcm1fSD.cc:274
G4ProcessTypeEnumerator * theG4ProcessTypeEnumerator
Definition: Bcm1fSD.h:64
TrackInformation * getOrCreateTrackInformation(const G4Track *)
Definition: Bcm1fSD.cc:278
~Bcm1fSD() override
Definition: Bcm1fSD.cc:54
virtual bool closeHit(G4Step *)
Definition: Bcm1fSD.cc:201
TrackingSlaveSD * slave
Definition: Bcm1fSD.h:63
Local3DPoint globalEntryPoint
Definition: Bcm1fSD.h:70
float energyHistoryCut
Definition: Bcm1fSD.h:68
type of data representation of DDCompactView
Definition: DDCompactView.h:90
int eventno
Definition: Bcm1fSD.h:75
virtual bool newHit(G4Step *)
Definition: Bcm1fSD.cc:187
uint32_t setDetUnitId(const G4Step *) override
Definition: Bcm1fSD.cc:91
void EndOfEvent(G4HCofThisEvent *) override
Definition: Bcm1fSD.cc:143
float energyCut
Definition: Bcm1fSD.h:67
Bcm1fSD(const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: Bcm1fSD.cc:33
void fillHits(edm::PSimHitContainer &, const std::string &) override
Definition: Bcm1fSD.cc:151
virtual void sendHit()
Definition: Bcm1fSD.cc:155
virtual void updateHit(G4Step *)
Definition: Bcm1fSD.cc:170
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
Definition: Bcm1fSD.cc:261
unsigned int lastTrack
Definition: Bcm1fSD.h:74
std::vector< PSimHit > PSimHitContainer
virtual void createHit(G4Step *)
Definition: Bcm1fSD.cc:213
std::string pname
Definition: Bcm1fSD.h:76