75 G4Track* vTrack = aStep->GetTrack();
77 G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
79 G4ThreeVector worldPosition = preStepPoint->GetPosition();
80 G4ThreeVector localPosition = preStepPoint->GetTouchableHandle()->
81 GetHistory()->GetTopTransform().TransformPoint(worldPosition);
83 G4ThreeVector mom = preStepPoint->GetMomentumDirection();
86 if (!(preStepPoint->GetStepStatus() == fGeomBoundary)) {
return false;}
89 if(preStepPoint->GetMass() == 0 && preStepPoint->GetCharge() == 0) {
92 else if(preStepPoint->GetMass() != 0 && preStepPoint->GetCharge() == 0) {
95 else if(preStepPoint->GetMass() != 0 && preStepPoint->GetCharge() > 0) {
98 else if(preStepPoint->GetMass() != 0 && preStepPoint->GetCharge() < 0) {
104 aHit->
SetPos(localPosition);
107 aHit->
SetEnergy(preStepPoint->GetKineticEnergy());
108 aHit->
SetTime(preStepPoint->GetGlobalTime());