61 : fCurrentStepNumber(0), fPosition(aValuePosition),
62 fGlobalTime(aValueTime), fLocalTime(0.),
64 fParentID(0), fTrackID(0),
66 fpDynamicParticle(apValueDynamicParticle),
68 fBelowThreshold(false), fGoodForTracking(false),
69 fStepLength(0.0), fWeight(1.0),
71 fVtxKineticEnergy(0.0),
72 fpLVAtVertex(0), fpCreatorProcess(0),
73 fCreatorModelIndex(-1),
75 prev_mat(0), groupvel(0),
76 prev_velocity(0.0), prev_momentum(0.0),
77 is_OpticalPhoton(false),
78 useGivenVelocity(false),
79 fpAuxiliaryTrackInformationMap(0)
100 : fCurrentStepNumber(0),
101 fGlobalTime(0), fLocalTime(0.),
103 fParentID(0), fTrackID(0),
105 fpDynamicParticle(0),
107 fBelowThreshold(false), fGoodForTracking(false),
108 fStepLength(0.0), fWeight(1.0),
110 fVtxKineticEnergy(0.0),
111 fpLVAtVertex(0), fpCreatorProcess(0),
112 fCreatorModelIndex(-1),
113 fpUserInformation(0),
114 prev_mat(0), groupvel(0),
115 prev_velocity(0.0), prev_momentum(0.0),
116 is_OpticalPhoton(false),
117 useGivenVelocity(false),
118 fpAuxiliaryTrackInformationMap(0)
125 : fCurrentStepNumber(0),
126 fGlobalTime(0), fLocalTime(0.),
128 fParentID(0), fTrackID(0),
130 fpDynamicParticle(0),
132 fBelowThreshold(false), fGoodForTracking(false),
133 fStepLength(0.0), fWeight(1.0),
135 fVtxKineticEnergy(0.0),
136 fpLVAtVertex(0), fpCreatorProcess(0),
137 fCreatorModelIndex(-1),
138 fpUserInformation(0),
139 prev_mat(0), groupvel(0),
140 prev_velocity(0.0), prev_momentum(0.0),
141 is_OpticalPhoton(false),
142 useGivenVelocity(false),
143 fpAuxiliaryTrackInformationMap(0)
161 if (
this != &right) {
245 velocity = c_light*std::sqrt(T*(T+2.))/(T+1.0);
263 G4bool update_groupvel =
false;
277 update_groupvel =
true;
289 if( update_groupvel || (current_momentum !=
prev_momentum) ) {
327 if(!fpAuxiliaryTrackInformationMap)
328 { fpAuxiliaryTrackInformationMap =
new std::map<G4int,G4VAuxiliaryTrackInformation*>; }
332 ED <<
"Process/model index <" << idx <<
"> is invalid.";
333 G4Exception(
"G4VAuxiliaryTrackInformation::G4VAuxiliaryTrackInformation()",
"TRACK0982",
336 (*fpAuxiliaryTrackInformationMap)[idx] = info;
343 if(!fpAuxiliaryTrackInformationMap)
return 0;
344 std::map<G4int,G4VAuxiliaryTrackInformation*>::iterator itr
345 = fpAuxiliaryTrackInformationMap->find(idx);
346 if(itr==fpAuxiliaryTrackInformationMap->end())
return 0;
347 else return (*itr).second;
376 {
delete (*itr).second; }
static G4ThreadLocal G4VelocityTable * velTable
std::map< G4int, G4VAuxiliaryTrackInformation * > * fpAuxiliaryTrackInformationMap
static G4VelocityTable * GetVelocityTable()
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4MaterialPropertyVector * GetProperty(const char *key)
G4ThreadLocal G4Allocator< G4Track > * aTrackAllocator
std::ostringstream G4ExceptionDescription
G4double GetKineticEnergy() const
CLHEP::Hep3Vector G4ThreeVector
static G4double GetMinTOfVelocityTable()
void RemoveAuxiliaryTrackInformation(G4int idx)
G4DynamicParticle * fpDynamicParticle
G4Material * GetMaterial() const
G4MaterialPropertyVector * groupvel
void SetAuxiliaryTrackInformation(G4int idx, G4VAuxiliaryTrackInformation *info) const
G4double fVtxKineticEnergy
G4ParticleDefinition * GetDefinition() const
G4double GetTotalMomentum() const
const G4VProcess * fpCreatorProcess
G4VUserTrackInformation * fpUserInformation
G4double CalculateVelocityForOpticalPhoton() const
G4ThreeVector fVtxMomentumDirection
static G4int GetNbinOfVelocityTable()
G4ThreeVector fVtxPosition
G4double Value(G4double theEnergy, size_t &lastidx) const
G4double CalculateVelocity() const
static void SetVelocityTableProperties(G4double t_max, G4double t_min, G4int nbin)
G4Material * GetMaterial() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4VAuxiliaryTrackInformation * GetAuxiliaryTrackInformation(G4int idx) const
static G4int GetNbinOfVelocityTable()
G4TouchableHandle fpTouchable
G4LogicalVolume * GetLogicalVolume() const
static G4ParticleTable * GetParticleTable()
G4Track & operator=(const G4Track &)
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
G4MaterialPropertiesTable * GetMaterialPropertiesTable() const
static G4double GetMinTOfVelocityTable()
G4TrackStatus fTrackStatus
static void SetVelocityTableProperties(G4double t_max, G4double t_min, G4int nbin)
const G4LogicalVolume * fpLVAtVertex
void ClearAuxiliaryTrackInformation()
static G4double GetMaxTOfVelocityTable()
static G4double GetMaxTOfVelocityTable()
G4double Value(G4double theEnergy)
static G4int GetIndex(const G4String &)
void CopyTrackInfo(const G4Track &)