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 
39  edm::ParameterSet const &, const SimTrackManager*);
40  ~PltSD() override;
41 
42  bool ProcessHits(G4Step *,G4TouchableHistory *) override;
43  uint32_t setDetUnitId(G4Step*) override;
44  void EndOfEvent(G4HCofThisEvent*) override;
45 
46  void fillHits (edm::PSimHitContainer&, std::string use) override;
47 
48 private:
49 
50  virtual void sendHit();
51  virtual void updateHit(G4Step *);
52  virtual bool newHit(G4Step *);
53  virtual bool closeHit(G4Step *);
54  virtual void createHit(G4Step *);
55  void update(const BeginOfEvent *) override;
56  void update(const BeginOfTrack *) override;
57  void update(const BeginOfJob *) override;
58  void clearHits() override;
60 
61 private:
62 
68  float energyCut;
70 
73  G4VPhysicalVolume * oldVolume;
74  uint32_t lastId;
75  unsigned int lastTrack;
76  int eventno;
78 
79 };
80 
81 #endif
UpdatablePSimHit * mySimHit
Definition: PltSD.h:67
virtual bool newHit(G4Step *)
Definition: PltSD.cc:241
std::string myName
Definition: PltSD.h:66
G4TrackToParticleID * myG4TrackToParticleID
Definition: PltSD.h:65
PltSD(std::string, const DDCompactView &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
Definition: PltSD.cc:35
virtual void updateHit(G4Step *)
Definition: PltSD.cc:224
int eventno
Definition: PltSD.h:76
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:68
uint32_t setDetUnitId(G4Step *) override
Definition: PltSD.cc:103
virtual void sendHit()
Definition: PltSD.cc:209
float energyHistoryCut
Definition: PltSD.h:69
Local3DPoint globalExitPoint
Definition: PltSD.h:72
virtual void createHit(G4Step *)
Definition: PltSD.cc:267
void fillHits(edm::PSimHitContainer &, std::string use) override
Definition: PltSD.cc:205
~PltSD() override
Definition: PltSD.cc:66
void update(const BeginOfEvent *) override
This routine will be called when the appropriate signal arrives.
Definition: PltSD.cc:315
G4VPhysicalVolume * oldVolume
Definition: PltSD.h:73
virtual bool closeHit(G4Step *)
Definition: PltSD.cc:255
void clearHits() override
Definition: PltSD.cc:328
void EndOfEvent(G4HCofThisEvent *) override
Definition: PltSD.cc:197
unsigned int lastTrack
Definition: PltSD.h:75
std::vector< PSimHit > PSimHitContainer
std::string pname
Definition: PltSD.h:77
TrackInformation * getOrCreateTrackInformation(const G4Track *)
Definition: PltSD.cc:332
uint32_t lastId
Definition: PltSD.h:74
G4ProcessTypeEnumerator * theG4ProcessTypeEnumerator
Definition: PltSD.h:64
bool ProcessHits(G4Step *, G4TouchableHistory *) override
Definition: PltSD.cc:72
Local3DPoint globalEntryPoint
Definition: PltSD.h:71