96 Double_t a[3]={0,0,0};
97 fBeta.SetVector(a,
"sph");
138 Double_t dbeta2=
fBeta.GetResultError();
142 cout <<
" *NcBoost::SetBeta* beta > 1." << endl;
146 Double_t temp=1.-beta2;
150 fDgamma=fabs(dbeta2/(2.*pow(temp,1.5)));
168 cout <<
" *NcBoost::Set4Momentum* Unphysical situation." << endl;
174 Double_t vb[3],eb[3];
178 for (Int_t i=0; i<3; i++)
180 eb[i]=sqrt(pow(eb[i]/E,2)+pow(vb[i]*dE/(E*E),2));
207 Double_t norm=
fBeta.GetNorm();
245 Double_t beta=
fBeta.GetNorm();
246 Double_t dbeta=
fBeta.GetResultError();
247 cout <<
" *NcBoost::Data* beta : " << beta <<
" error : " << dbeta
264 Double_t beta=
fBeta.GetNorm();
265 Double_t dbeta=
fBeta.GetResultError();
267 Double_t beta2=pow(beta,2);
280 Double_t Eprim=
fGamma*(E-pdotbeta);
286 Double_t dEprim=sqrt(pow((E-pdotbeta)*
fDgamma,2)+pow(
fGamma*dE,2)
287 +pow(
fGamma*dpdotbeta,2));
288 Double_t dz=sqrt( pow(((
fGamma-1.)/beta2)*dpdotbeta,2) + pow(
fGamma*dE,2)
290 ((2./beta)-(4.*pow(beta,3)-6.*pow(beta,5))/(2.*pow((pow(beta,4)-pow(beta,6)),1.5)))*pdotbeta
291 +beta*E/pow(
fGamma,3))*dbeta,2) );
293 Double_t vb[3],eb[3];
294 fBeta.GetVector(vb,
"car");
295 fBeta.GetErrors(eb,
"car");
296 for (Int_t i=0; i<3; i++)
298 eb[i]=sqrt(pow(z*eb[i],2)+pow(vb[i]*dz,2));
336 Double_t beta=
fBeta.GetNorm();
337 Double_t dbeta=
fBeta.GetResultError();
339 Double_t beta2=pow(beta,2);
348 Double_t pprimdotbeta=pprim.
Dot(
fBeta);
352 Double_t E=
fGamma*(Eprim+pprimdotbeta);
354 Double_t z=((
fGamma-1.)*pprimdotbeta/beta2)+
fGamma*Eprim;
358 Double_t dE=sqrt(pow((Eprim+pprimdotbeta)*
fDgamma,2)+pow(
fGamma*dEprim,2)
359 +pow(
fGamma*dpprimdotbeta,2));
360 Double_t dz=sqrt( pow(((
fGamma-1.)/beta2)*dpprimdotbeta,2) + pow(
fGamma*dEprim,2)
362 ((2./beta)-(4.*pow(beta,3)-6.*pow(beta,5))/(2.*pow((pow(beta,4)-pow(beta,6)),1.5)))*pprimdotbeta
363 -beta*Eprim/pow(
fGamma,3))*dbeta,2) );
365 Double_t vb[3],eb[3];
366 fBeta.GetVector(vb,
"car");
367 fBeta.GetErrors(eb,
"car");
368 for (Int_t i=0; i<3; i++)
370 eb[i]=sqrt(pow(z*eb[i],2)+pow(vb[i]*dz,2));
Handling of 3-vectors in various reference frames.
void GetErrors(Double_t *e, TString f, TString u="rad") const
void SetErrors(Double_t *e, TString f, TString u="rad")
Double_t Dot(Nc3Vector &q)
Double_t GetResultError() const
void GetVector(Double_t *v, TString f, TString u="rad") const
Handling of Lorentz 4-vectors in various reference frames.
virtual void Load(Nc4Vector &q)
void SetVector(Double_t v0, Nc3Vector &v)
Double_t GetResultError() const
Int_t GetScalarFlag() const
virtual void Data(TString f="car", TString u="rad")
void Set3Vector(Nc3Vector &v)
Nc3Vector Get3Vector() const
void SetScalarError(Double_t dv0)
Perform various Lorentz transformations.
void Data(TString f="car")
void SetBeta(Nc3Vector &b)
Nc4Vector Inverse(Nc4Vector &v)
Double32_t fDresult
! Error on scalar result
Double_t GetResultError() const
Nc4Vector Boost(Nc4Vector &v)
void Set4Momentum(Nc4Vector &p)
Nc3Vector GetBetaVector() const