CMS 3D CMS Logo

TrackingAction.h
Go to the documentation of this file.
1 #ifndef SimG4Core_TrackingAction_H
2 #define SimG4Core_TrackingAction_H
3 
6 
7 #include "G4UserTrackingAction.hh"
8 #include "G4Region.hh"
9 
10 #include <vector>
11 
12 class SimTrackManager;
13 class TrackWithHistory;
14 class BeginOfTrack;
15 class EndOfTrack;
16 class CMSSteppingVerbose;
17 class TrackInformation;
18 
19 class TrackingAction : public G4UserTrackingAction {
20 public:
22  ~TrackingAction() override = default;
23 
24  void PreUserTrackingAction(const G4Track* aTrack) override;
25  void PostUserTrackingAction(const G4Track* aTrack) override;
26 
28  inline const G4Track* geant4Track() const { return g4Track_; }
29  inline G4TrackingManager* getTrackManager() { return fpTrackingManager; }
30 
33 
34 private:
37  const G4Track* g4Track_ = nullptr;
44  double ekinMin_;
45  std::vector<double> ekinMinRegion_;
46  std::vector<G4Region*> ptrRegion_;
47 };
48 
49 #endif
SimTrackManager * trackManager_
TrackWithHistory * currentTrackWithHistory()
const G4Track * g4Track_
G4TrackingManager * getTrackManager()
CMSSteppingVerbose * steppingVerbose_
TrackWithHistory * currentTrack_
const G4Track * geant4Track() const
TrackInformation * trkInfo_
TrackingAction(SimTrackManager *, CMSSteppingVerbose *, const edm::ParameterSet &ps)
bool saveCaloBoundaryInformation_
void PreUserTrackingAction(const G4Track *aTrack) override
SimActivityRegistry::EndOfTrackSignal m_endOfTrackSignal
std::vector< double > ekinMinRegion_
~TrackingAction() override=default
std::vector< G4Region * > ptrRegion_
void PostUserTrackingAction(const G4Track *aTrack) override
SimActivityRegistry::BeginOfTrackSignal m_beginOfTrackSignal