69 : fCurrentStepNumber(0), fPosition(aValuePosition),
70 fGlobalTime(aValueTime), fLocalTime(0.),
72 fParentID(0), fTrackID(0),
74 fpDynamicParticle(apValueDynamicParticle),
76 fBelowThreshold(false), fGoodForTracking(false),
77 fStepLength(0.0), fWeight(1.0),
79 fVtxKineticEnergy(0.0),
80 fpLVAtVertex(0), fpCreatorProcess(0),
81 fCreatorModelIndex(-1),
83 prev_mat(0), groupvel(0),
84 prev_velocity(0.0), prev_momentum(0.0),
85 is_OpticalPhoton(false),
86 useGivenVelocity(false),
87 fpAuxiliaryTrackInformationMap(0)
108 : fCurrentStepNumber(0),
109 fGlobalTime(0), fLocalTime(0.),
111 fParentID(0), fTrackID(0),
113 fpDynamicParticle(0),
115 fBelowThreshold(false), fGoodForTracking(false),
116 fStepLength(0.0), fWeight(1.0),
118 fVtxKineticEnergy(0.0),
119 fpLVAtVertex(0), fpCreatorProcess(0),
120 fCreatorModelIndex(-1),
121 fpUserInformation(0),
122 prev_mat(0), groupvel(0),
123 prev_velocity(0.0), prev_momentum(0.0),
124 is_OpticalPhoton(false),
125 useGivenVelocity(false),
126 fpAuxiliaryTrackInformationMap(0)
133 : fCurrentStepNumber(0),
134 fGlobalTime(0), fLocalTime(0.),
136 fParentID(0), fTrackID(0),
138 fpDynamicParticle(0),
140 fBelowThreshold(false), fGoodForTracking(false),
141 fStepLength(0.0), fWeight(1.0),
143 fVtxKineticEnergy(0.0),
144 fpLVAtVertex(0), fpCreatorProcess(0),
145 fCreatorModelIndex(-1),
146 fpUserInformation(0),
147 prev_mat(0), groupvel(0),
148 prev_velocity(0.0), prev_momentum(0.0),
149 is_OpticalPhoton(false),
150 useGivenVelocity(false),
151 fpAuxiliaryTrackInformationMap(0)
169 if (
this != &right) {
253 velocity =
c_light*std::sqrt(T*(T+2.))/(T+1.0);
271 G4bool update_groupvel =
false;
285 update_groupvel =
true;
297 if( update_groupvel || (current_momentum !=
prev_momentum) ) {
335 if(!fpAuxiliaryTrackInformationMap)
336 { fpAuxiliaryTrackInformationMap =
new std::map<G4int,G4VAuxiliaryTrackInformation*>; }
340 ED <<
"Process/model index <" << idx <<
"> is invalid.";
341 G4Exception(
"G4VAuxiliaryTrackInformation::G4VAuxiliaryTrackInformation()",
"TRACK0982",
344 (*fpAuxiliaryTrackInformationMap)[idx] =
info;
351 if(!fpAuxiliaryTrackInformationMap)
return 0;
352 std::map<G4int,G4VAuxiliaryTrackInformation*>::iterator itr
353 = fpAuxiliaryTrackInformationMap->find(idx);
354 if(itr==fpAuxiliaryTrackInformationMap->end())
return 0;
355 else return (*itr).second;
384 {
delete (*itr).second; }
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static void SetVelocityTableProperties(G4double t_max, G4double t_min, G4int nbin)
const XML_Char XML_Encoding * info
std::ostringstream G4ExceptionDescription
static G4int GetNbinOfVelocityTable()
G4double Value(G4double theEnergy)
G4LogicalVolume * GetLogicalVolume() const
G4double fVtxKineticEnergy
static G4ParticleTable * GetParticleTable()
static G4VelocityTable * GetVelocityTable()
static G4double GetMinTOfVelocityTable()
G4DynamicParticle * fpDynamicParticle
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
static G4double GetMaxTOfVelocityTable()
G4double Value(G4double theEnergy, size_t &lastidx) const
#define G4ThreadLocalStatic
G4Material * GetMaterial() const
void CopyTrackInfo(const G4Track &)
const G4LogicalVolume * fpLVAtVertex
G4double CalculateVelocityForOpticalPhoton() const
G4double CalculateVelocity() const
static G4int GetIndex(const G4String &)
G4ThreeVector fVtxMomentumDirection
G4ParticleDefinition * GetDefinition() const
G4Track & operator=(const G4Track &)
std::map< G4int, G4VAuxiliaryTrackInformation * > * fpAuxiliaryTrackInformationMap
G4Allocator< G4Track > *& aTrackAllocator()
static G4VelocityTable *& velTable()
void RemoveAuxiliaryTrackInformation(G4int idx)
static void SetVelocityTableProperties(G4double t_max, G4double t_min, G4int nbin)
G4Material * GetMaterial() const
const G4ThreeVector const G4double const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4TouchableHandle fpTouchable
G4VAuxiliaryTrackInformation * GetAuxiliaryTrackInformation(G4int idx) const
G4ThreeVector fVtxPosition
static constexpr double c_light
static G4double GetMinTOfVelocityTable()
G4double GetKineticEnergy() const
void SetAuxiliaryTrackInformation(G4int idx, G4VAuxiliaryTrackInformation *info) const
G4VUserTrackInformation * fpUserInformation
void ClearAuxiliaryTrackInformation()
G4MaterialPropertyVector * GetProperty(const char *key, G4bool warning=false)
static G4double GetMaxTOfVelocityTable()
G4double GetTotalMomentum() const
static G4int GetNbinOfVelocityTable()
G4MaterialPropertiesTable * GetMaterialPropertiesTable() const
G4MaterialPropertyVector * groupvel
G4TrackStatus fTrackStatus
const G4VProcess * fpCreatorProcess