Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4TrackInformation.h
Go to the documentation of this file.
1#ifndef TG4_TRACK_INFORMATION_H
2#define TG4_TRACK_INFORMATION_H
3
4//------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
17
18#include <G4Allocator.hh>
19#include <G4VUserTrackInformation.hh>
20#include <globals.hh>
21
23struct TMCParticleStatus;
24
29
31{
32 public:
34 TG4TrackInformation(G4int trackParticleID);
35 // TG4TrackInformation(G4int trackParticleID, G4int parentParticleID);
36 virtual ~TG4TrackInformation();
37
38 // operators required by G4
39
41 inline void* operator new(size_t);
43 inline void operator delete(void* trackInformation);
44
45 // methods
46 virtual void Print() const;
47
48 // set methods
49 void SetTrackParticleID(G4int trackParticleID);
50 void SetParentParticleID(G4int parentParticleID);
51 void SetPDGLifetime(G4double pdgLifetime);
52 void SetPDGEncoding(G4int pdgEncoding);
53 void SetInitialTrackStatus(TMCParticleStatus* status);
54 void SetIsUserTrack(G4bool isUserTrack);
55 void SetStop(G4bool stop);
56 void SetInterrupt(G4bool interrupt);
57
58 // get methods
59 G4int GetTrackParticleID() const;
60 G4int GetParentParticleID() const;
61 G4double GetPDGLifetime() const;
62 G4int GetPDGEncoding() const;
63 const TMCParticleStatus* GetInitialTrackStatus() const;
64 G4bool IsUserTrack() const;
65 G4bool IsStop() const;
66 G4bool IsInterrupt() const;
67
68 private:
69 // data members
70
73 G4double fPDGLifetime;
74 G4double fPDGEncoding;
75 G4bool fIsUserTrack;
76 G4bool fStop;
77 G4bool fInterrupt;
81 TMCParticleStatus* fInitialTrackStatus;
82};
83
84// inline methods
86
87#endif // TG4_TRACK_INFORMATION_H
Defines additional track information.
TMCParticleStatus * fInitialTrackStatus
void SetIsUserTrack(G4bool isUserTrack)
G4int GetPDGEncoding() const
const TMCParticleStatus * GetInitialTrackStatus() const
G4bool fStop
true if track should be stopped
void SetParentParticleID(G4int parentParticleID)
void SetInterrupt(G4bool interrupt)
virtual void Print() const
G4bool IsUserTrack() const
G4int fParentParticleID
the index of parent track in VMC stack
void SetPDGLifetime(G4double pdgLifetime)
G4int GetTrackParticleID() const
G4bool IsInterrupt() const
G4double GetPDGLifetime() const
void SetInitialTrackStatus(TMCParticleStatus *status)
G4double fPDGLifetime
the original particle PDG lifetime
G4double fPDGEncoding
the particle PDG encoding
G4int fTrackParticleID
the index of track particle in VMC stack
void SetPDGEncoding(G4int pdgEncoding)
G4bool IsStop() const
void SetStop(G4bool stop)
void SetTrackParticleID(G4int trackParticleID)
G4bool fIsUserTrack
true if defined by user and not primary track
G4int GetParentParticleID() const