50 : fPosition(aValuePosition)
51 , fGlobalTime(aValueTime)
54 fpDynamicParticle = (apValueDynamicParticle) !=
nullptr
58 (fpDynamicParticle->GetDefinition()->GetPDGEncoding() == -22);
89 fPosition = right.fPosition;
90 fGlobalTime = right.fGlobalTime;
91 fLocalTime = right.fLocalTime;
92 fTrackLength = right.fTrackLength;
93 fWeight = right.fWeight;
94 fStepLength = right.fStepLength;
98 fpTouchable = right.fpTouchable;
99 fpNextTouchable = right.fpNextTouchable;
100 fpOriginTouchable = right.fpOriginTouchable;
108 fCurrentStepNumber = 0;
111 fCreatorModelID = right.fCreatorModelID;
114 fParentResonanceDef = right.fParentResonanceDef;
115 fParentResonanceID = right.fParentResonanceID;
118 fVelocity = right.fVelocity;
121 delete fpDynamicParticle;
125 fTrackStatus = right.fTrackStatus;
126 fBelowThreshold = right.fBelowThreshold;
127 fGoodForTracking = right.fGoodForTracking;
134 fVtxPosition = right.fVtxPosition;
135 fpLVAtVertex = right.fpLVAtVertex;
136 fVtxKineticEnergy = right.fVtxKineticEnergy;
137 fVtxMomentumDirection = right.fVtxMomentumDirection;
140 fpCreatorProcess =
nullptr;
141 delete fpUserInformation;
142 fpUserInformation =
nullptr;
144 prev_mat = right.prev_mat;
145 groupvel = right.groupvel;
146 prev_velocity = right.prev_velocity;
147 prev_momentum = right.prev_momentum;
149 is_OpticalPhoton = right.is_OpticalPhoton;
150 useGivenVelocity = right.useGivenVelocity;
152 ClearAuxiliaryTrackInformation();
171 G4bool update_groupvel =
false;
172 if(fpStep !=
nullptr)
180 mat = fpTouchable->GetVolume()->GetLogicalVolume()->
GetMaterial();
185 if((mat !=
nullptr) && ((mat != prev_mat) || (groupvel ==
nullptr)))
190 update_groupvel =
true;
194 if(groupvel !=
nullptr)
198 velocity = prev_velocity;
202 G4double current_momentum = fpDynamicParticle->GetTotalMomentum();
203 if(update_groupvel || (current_momentum != prev_momentum))
205 velocity = groupvel->Value(current_momentum);
206 prev_velocity = velocity;
207 prev_momentum = current_momentum;