132 G4double sint = std::sqrt((1.-cost)*(1.+cost));
142 parent_polarization.
setX(px);
143 parent_polarization.
setY(py);
144 parent_polarization.
setZ(pz);
149 GetLogicalVolume()->GetFieldManager();
156 if (fFieldPropagator) fieldMgr =
166 point[0] = (aStep.GetPostStepPoint()->GetPosition())[0];
167 point[1] = (aStep.GetPostStepPoint()->GetPosition())[1];
168 point[2] = (aStep.GetPostStepPoint()->GetPosition())[2];
169 point[3] = aTrack.GetGlobalTime();
172 field -> GetFieldValue(point,fieldValue);
177 if (
B.mag2() > 0.) parent_polarization =
191 G4ParticleChangeForDecay* pParticleChangeForDecay;
192 pParticleChangeForDecay = (G4ParticleChangeForDecay*)
G4Decay::DecayIt(aTrack,aStep);
194 pParticleChangeForDecay->ProposePolarization(parent_polarization);
196 return pParticleChangeForDecay;
CLHEP::Hep3Vector G4ThreeVector
virtual G4VParticleChange * DecayIt(const G4Track &aTrack, const G4Step &aStep)
G4double fRemainderLifeTime
G4ThreeVector Spin_Precession(const G4Step &aStep, G4ThreeVector B, G4double deltatime)
static const double twopi
G4DecayTable * GetDecayTable() const
static G4TransportationManager * GetTransportationManager()
G4VDecayChannel * GetDecayChannel(G4int index) const
G4FieldManager * GetCurrentFieldManager()
const G4ThreeVector & GetPolarization() const
G4ParticleDefinition * GetDefinition() const
G4PropagatorInField * GetPropagatorInField() const
void SetPolarization(const G4ThreeVector &)
const G4Field * GetDetectorField() const