85{
86
88
91 aTrack.GetVolume()->GetLogicalVolume()->GetUserLimits();
92 if (pUserLimits)
93 {
94
95
96 G4double Ekine = aTrack.GetKineticEnergy();
97 if(Ekine <= pUserLimits->GetUserMinEkine(aTrack)) { return 0.; }
98
99
100
102 - aTrack.GetTrackLength());
103 if (ProposedStep < 0.) { return 0.; }
104
105
106
109 G4double beta = (aTrack.GetDynamicParticle()->GetTotalMomentum())
110 /(aTrack.GetTotalEnergy());
111 G4double dTime = (tlimit - aTrack.GetGlobalTime());
113 if (temp < 0.) { return 0.; }
114 if (ProposedStep > temp) { ProposedStep = temp; }
115 }
116
117
118
119
124 {
128 if (temp < 0.) { return 0.; }
129 if (ProposedStep > temp) { ProposedStep = temp; }
130 }
131 }
132 }
133 return ProposedStep;
134}
G4double condition(const G4ErrorSymMatrix &m)
G4double GetRange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
G4double GetPDGMass() const
G4double GetPDGCharge() const
virtual G4double GetUserMinRange(const G4Track &)
virtual G4double GetUserMaxTrackLength(const G4Track &)
virtual G4double GetUserMaxTime(const G4Track &)