CMS 3D CMS Logo

PltSD.h
Go to the documentation of this file.
1 #ifndef Forward_PltSD_h
2 #define Forward_PltSD_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 
30 class PltSD : public SensitiveTkDetector,
31  public Observer<const BeginOfEvent*>,
32  public Observer<const BeginOfTrack*>,
33  public Observer<const BeginOfJob*> {
34 
35 public:
36 
37  PltSD(const std::string&, const DDCompactView &,
39  edm::ParameterSet const &, const SimTrackManager*);
40  ~PltSD() 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: PltSD.h:66
virtual bool newHit(G4Step *)
Definition: PltSD.cc:232
PltSD(const std::string &, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: PltSD.cc:35
G4TrackToParticleID * myG4TrackToParticleID
Definition: PltSD.h:65
virtual void updateHit(G4Step *)
Definition: PltSD.cc:215
int eventno
Definition: PltSD.h:75
TrackingSlaveSD * slave
Definition: PltSD.h:63
type of data representation of DDCompactView
Definition: DDCompactView.h:90
Definition: PltSD.h:30
float energyCut
Definition: PltSD.h:67
virtual void sendHit()
Definition: PltSD.cc:200
float energyHistoryCut
Definition: PltSD.h:68
Local3DPoint globalExitPoint
Definition: PltSD.h:71
virtual void createHit(G4Step *)
Definition: PltSD.cc:258
~PltSD() override
Definition: PltSD.cc:57
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
Definition: PltSD.cc:306
G4VPhysicalVolume * oldVolume
Definition: PltSD.h:72
virtual bool closeHit(G4Step *)
Definition: PltSD.cc:246
void clearHits() override
Definition: PltSD.cc:319
void EndOfEvent(G4HCofThisEvent *) override
Definition: PltSD.cc:188
unsigned int lastTrack
Definition: PltSD.h:74
std::vector< PSimHit > PSimHitContainer
std::string pname
Definition: PltSD.h:76
TrackInformation * getOrCreateTrackInformation(const G4Track *)
Definition: PltSD.cc:323
uint32_t lastId
Definition: PltSD.h:73
G4ProcessTypeEnumerator * theG4ProcessTypeEnumerator
Definition: PltSD.h:64
bool ProcessHits(G4Step *, G4TouchableHistory *) override
Definition: PltSD.cc:63
void fillHits(edm::PSimHitContainer &, const std::string &) override
Definition: PltSD.cc:196
uint32_t setDetUnitId(const G4Step *) override
Definition: PltSD.cc:94
Local3DPoint globalEntryPoint
Definition: PltSD.h:70