73 G4StepPoint* postStepPoint = aStep->GetPostStepPoint();
74 if(postStepPoint->GetStepStatus() != fGeomBoundary)
77 G4Track* track = aStep->GetTrack();
78 const G4DynamicParticle* dp = track->GetDynamicParticle();
79 G4int trackID = track->GetTrackID();
80 G4int parentID = track->GetParentID();
81 G4double T = track->GetGlobalTime();
82 G4double energy = track->GetTotalEnergy();
83 G4double charge = dp->GetCharge();
84 G4int turnsTaken =
globals->TurnsTaken();
85 const G4ThreeVector& pos = track->GetPosition();
86 const G4ThreeVector& mom = track->GetMomentumDirection();
87 G4double weight = track->GetWeight();
88 G4int nElectrons = dp->GetTotalOccupancy();
89 G4double mass = dp->GetMass();
90 G4double rigidity = 0;
92 {rigidity =
BDS::Rigidity(track->GetMomentum().mag(), charge);}
93 G4double p = dp->GetTotalMomentum();
100 G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
101 G4int samplerID = preStepPoint->GetTouchable()->GetVolume()->GetCopyNo();
104 G4ThreeVector localPosition;
105 G4ThreeVector localDirection;
109 if (globalToLocal == G4Transform3D::Identity)
114 G4AffineTransform tf = preStepPoint->GetTouchableHandle()->GetHistory()->GetTopTransform();
115 localPosition = tf.TransformPoint(pos);
116 localDirection = tf.TransformAxis(mom);
122 localPosition = globalToLocal * (HepGeom::Point3D<G4double>)pos;
124 localDirection = globalToLocal * (HepGeom::Vector3D<G4double>)mom;
130 G4int PDGtype = track->GetDefinition()->GetPDGEncoding();
131 G4String pName = track->GetDefinition()->GetParticleName();
134 G4double r = localPosition.mag();
135 G4ThreeVector unitR = localPosition.unit();
136 G4ThreeVector lds = localDirection - unitR;
138 G4double rp = localDirection.dot(unitR);
139 G4double thetap = localDirection.theta(unitR);
140 G4double phip = localDirection.deltaPhi(unitR);
143 rp, thetap, phip, T);
A set of spherical particle coordinates.