35 const G4double *SixV = SixVec.SixVector;
37 os <<
" X= " << SixV[0] <<
" " << SixV[1] <<
" "
39 os <<
" V= " << SixV[3] <<
" " << SixV[4] <<
" "
43 os <<
" mdm= " << SixVec.fMomentumDir.
mag();
58: fDistanceAlongCurve(curve_length),
59 fKineticEnergy(kineticEnergy),
60 fRestMass_c2(restMass_c2),
61 fLabTimeOfFlight(LaboratoryTimeOfFlight),
62 fProperTimeOfFlight(0.),
64 fChargeState( charge, magnetic_dipole_moment )
83 : fDistanceAlongCurve(curve_length),
84 fKineticEnergy(kineticEnergy),
85 fRestMass_c2(restMass_c2),
86 fLabTimeOfFlight(pLaboratoryTimeOfFlight),
87 fProperTimeOfFlight(pProperTimeOfFlight),
97 if( pSpin ) Spin= *pSpin;
102 : fKineticEnergy(0.), fRestMass_c2(0.), fLabTimeOfFlight(0.),
103 fProperTimeOfFlight(0.), fChargeState(
DBL_MAX )
106 SetCurvePnt( Zero, Zero, 0.0 );
118 fChargeState.SetChargeAndMoments( charge, magnetic_dipole_moment,
119 electric_dipole_moment, magnetic_charge );
std::ostream & operator<<(std::ostream &os, const G4FieldTrack &SixVec)
CLHEP::Hep3Vector G4ThreeVector
void UpdateFourMomentum(G4double kineticEnergy, const G4ThreeVector &momentumDirection)
void InitialiseSpin(const G4ThreeVector &Spin)
G4double GetCurveLength() const
void SetChargeAndMoments(G4double charge, G4double magnetic_dipole_moment=DBL_MAX, G4double electric_dipole_moment=DBL_MAX, G4double magnetic_charge=DBL_MAX)
void SetPosition(G4ThreeVector nPos)
G4FieldTrack(const G4ThreeVector &pPosition, G4double LaboratoryTimeOfFlight, const G4ThreeVector &pMomentumDirection, G4double kineticEnergy, G4double restMass_c2, G4double charge, const G4ThreeVector &pSpin, G4double magnetic_dipole_moment=0.0, G4double curve_length=0.0)