43 unsigned int subStepNo,
44 unsigned int noIntegrationVariables
60 PrintStatus(StartFT, CurrentFT, requestStep, subStepNo );
72 unsigned int subStepNo)
74 G4int verboseLevel= 2;
83 G4double DotStartCurrentVeloc= StartUnitVelocity.
dot(CurrentUnitVelocity);
88 if( (subStepNo <= 1) || (verboseLevel > 3) )
90 subStepNo = - subStepNo;
92 G4cout <<
"------------------------------------------------------------------"
94 G4cout << std::setw( 6) <<
" " << std::setw( 25)
95 <<
" G4DriverReporter: Current Position and Direction" <<
" "
97 G4cout << std::setw( 5) <<
"Step#" <<
" "
98 << std::setw(
prec7) <<
"s-curve" <<
" "
99 << std::setw(
prec9) <<
"X(mm)" <<
" "
100 << std::setw(
prec9) <<
"Y(mm)" <<
" "
101 << std::setw(
prec9) <<
"Z(mm)" <<
" "
102 << std::setw(
prec8) <<
" N_x " <<
" "
103 << std::setw(
prec8) <<
" N_y " <<
" "
104 << std::setw(
prec8) <<
" N_z " <<
" "
105 << std::setw( 6) <<
" N^2-1 " <<
" "
106 << std::setw(10) <<
" N(0).N " <<
" "
107 << std::setw( 7) <<
"KinEner " <<
" "
108 << std::setw(12) <<
"Track-l" <<
" "
109 << std::setw(12) <<
"Step-len" <<
" "
110 << std::setw(12) <<
"Step-len" <<
" "
111 << std::setw( 9) <<
"ReqStep" <<
" "
117 if( (subStepNo <= 0) )
127 subStepNo, subStepSize, DotStartCurrentVeloc );
129 G4cout <<
"------------------------------------------------------------------"
131 G4cout.precision(oldPrec);
150 G4cout << std::setw( 5) << subStepNo <<
" ";
154 G4cout << std::setw( 5) <<
"Start" <<
" ";
157 G4cout << std::setw( 7) << curveLen;
160 << std::setw(
prec9) << Position.y() <<
" "
161 << std::setw(
prec9) << Position.z() <<
" "
162 << std::setw(
prec8) << UnitVelocity.
x() <<
" "
163 << std::setw(
prec8) << UnitVelocity.
y() <<
" "
164 << std::setw(
prec8) << UnitVelocity.
z() <<
" ";
167 if( std::fabs( unitMagDif ) < 1.0e-15 ) { unitMagDif = 0.0; }
168 G4cout << std::setw( 8) << unitMagDif <<
" ";
170 G4cout << std::setw(10) << dotVeloc_StartCurr <<
" ";
171 G4cout.precision(oldprec);
173 G4cout << std::setw(12) << step_len <<
" ";
180 if( curveLen > oldCurveLength )
182 subStep_len= curveLen - oldCurveLength;
184 else if (subStepNo == oldSubStepNo)
186 subStep_len= oldSubStepLength;
188 oldCurveLength= curveLen;
189 oldSubStepLength= subStep_len;
191 G4cout << std::setw(12) << subStep_len <<
" ";
192 G4cout << std::setw(12) << subStepSize <<
" ";
193 if( requestStep != -1.0 )
199 G4cout << std::setw(
prec9) <<
" InitialStep " <<
" ";
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
double dot(const Hep3Vector &) const
static void PrintStatus(const G4double *StartArr, G4double xstart, const G4double *CurrentArr, G4double xcurrent, G4double requestStep, unsigned int subStepNo, unsigned int noIntegrationVariables)
static void PrintStat_Aux(const G4FieldTrack &aFieldTrack, G4double requestStep, G4double actualStep, G4int subStepNo, G4double subStepSize, G4double dotVelocities)
const G4ThreeVector & GetMomentumDir() const
G4double GetCurveLength() const
void SetCurveLength(G4double nCurve_s)
G4double GetKineticEnergy() const
G4ThreeVector GetPosition() const
void LoadFromArray(const G4double valArr[ncompSVEC], G4int noVarsIntegrated)