76 G4double sint = std::sqrt((1.-cost)*(1.+cost));
86 parent_polarization.setX(px);
87 parent_polarization.setY(py);
88 parent_polarization.setZ(pz);
93 GetLogicalVolume()->GetFieldManager();
100 if (fFieldPropagator) fieldMgr =
116 field -> GetFieldValue(point,fieldValue);
121 if (B.mag2() > 0.) parent_polarization =
142 return pParticleChangeForDecay;
155 G4double omega = -(q*s_omega)*(1.+a) * Bnorm;
157 G4double rotationangle = deltatime * omega;
167 G4double normspin = std::sqrt(Spin*Spin);
168 G4double normnewspin = std::sqrt(newSpin*newSpin);
177 G4cout <<
"Checked norms : " << normspin <<
" " << normnewspin <<
G4endl;
G4ParticleDefinition * GetDefinition() const
CLHEP::Hep3Vector G4ThreeVector
const G4DynamicParticle * GetDynamicParticle() const
void SetPolarization(G4ThreeVector)
HepGeom::Vector3D< G4double > G4Vector3D
G4ParticleDefinition * GetDefinition() const
virtual G4VParticleChange * DecayIt(const G4Track &aTrack, const G4Step &aStep)
G4double fRemainderLifeTime
G4DecayTable * GetDecayTable() const
G4GLOB_DLL std::ostream G4cout
G4ThreeVector Spin_Precession(const G4Step &aStep, G4ThreeVector B, G4double deltatime)
const G4ThreeVector & GetPosition() const
void SetProcessSubType(G4int)
G4double GetGlobalTime() const
G4VDecayChannel * SelectADecayChannel()
static G4TransportationManager * GetTransportationManager()
virtual ~G4DecayWithSpin()
virtual G4VParticleChange * DecayIt(const G4Track &aTrack, const G4Step &aStep)
G4FieldManager * GetCurrentFieldManager()
G4StepPoint * GetPostStepPoint() const
const G4ThreeVector & GetPolarization() const
G4VPhysicalVolume * GetVolume() const
const G4Field * GetDetectorField() const
G4Track * GetTrack() const
G4double GetPDGCharge() const
G4PropagatorInField * GetPropagatorInField() const
static const double kilogauss
G4DecayWithSpin(const G4String &processName="DecayWithSpin")
G4int GetVerboseLevel() const
void ProposePolarization(G4double Px, G4double Py, G4double Pz)