68 : fCurrentStepNumber(0), fPosition(aValuePosition),
69 fGlobalTime(aValueTime), fLocalTime(0.),
71 fParentID(0), fTrackID(0),
73 fpDynamicParticle(apValueDynamicParticle),
75 fBelowThreshold(
false), fGoodForTracking(
false),
76 fStepLength(0.0), fWeight(1.0),
78 fVtxKineticEnergy(0.0),
79 fpLVAtVertex(nullptr), fpCreatorProcess(nullptr),
80 fCreatorModelIndex(-1),
81 fpUserInformation(nullptr),
82 prev_mat(nullptr), groupvel(nullptr),
83 prev_velocity(0.0), prev_momentum(0.0),
84 is_OpticalPhoton(
false),
85 useGivenVelocity(
false),
86 fpAuxiliaryTrackInformationMap(nullptr)
107 : fCurrentStepNumber(0),
108 fGlobalTime(0), fLocalTime(0.),
110 fParentID(0), fTrackID(0),
112 fpDynamicParticle(nullptr),
114 fBelowThreshold(
false), fGoodForTracking(
false),
115 fStepLength(0.0), fWeight(1.0),
117 fVtxKineticEnergy(0.0),
118 fpLVAtVertex(nullptr), fpCreatorProcess(nullptr),
119 fCreatorModelIndex(-1),
120 fpUserInformation(nullptr),
121 prev_mat(nullptr), groupvel(nullptr),
122 prev_velocity(0.0), prev_momentum(0.0),
123 is_OpticalPhoton(
false),
124 useGivenVelocity(
false),
125 fpAuxiliaryTrackInformationMap(nullptr)
132 : fCurrentStepNumber(0),
133 fGlobalTime(0), fLocalTime(0.),
135 fParentID(0), fTrackID(0),
137 fpDynamicParticle(nullptr),
139 fBelowThreshold(
false), fGoodForTracking(
false),
140 fStepLength(0.0), fWeight(1.0),
142 fVtxKineticEnergy(0.0),
143 fpLVAtVertex(nullptr), fpCreatorProcess(nullptr),
144 fCreatorModelIndex(-1),
145 fpUserInformation(nullptr),
146 prev_mat(nullptr), groupvel(nullptr),
147 prev_velocity(0.0), prev_momentum(0.0),
148 is_OpticalPhoton(
false),
149 useGivenVelocity(
false),
150 fpAuxiliaryTrackInformationMap(nullptr)
170 if (
this != &right) {
257 velocity =
c_light*std::sqrt(T*(T+2.))/(T+1.0);
275 G4bool update_groupvel =
false;
289 update_groupvel =
true;
301 if( update_groupvel || (current_momentum !=
prev_momentum) ) {
339 if(!fpAuxiliaryTrackInformationMap)
340 { fpAuxiliaryTrackInformationMap =
new std::map<G4int,G4VAuxiliaryTrackInformation*>; }
344 ED <<
"Process/model index <" <<
idx <<
"> is invalid.";
345 G4Exception(
"G4VAuxiliaryTrackInformation::G4VAuxiliaryTrackInformation()",
"TRACK0982",
348 (*fpAuxiliaryTrackInformationMap)[
idx] =
info;
355 if(!fpAuxiliaryTrackInformationMap)
return nullptr;
356 std::map<G4int,G4VAuxiliaryTrackInformation*>::iterator itr
357 = fpAuxiliaryTrackInformationMap->find(
idx);
358 if(itr==fpAuxiliaryTrackInformationMap->end())
return nullptr;
359 else return (*itr).second;
389 {
delete (*itr).second; }