8 #include "TClonesArray.h"
10 #include "TLorentzVector.h"
27 extern "C" void initia_(
double* she,
int* an,
int* zn,
int* hn);
36 fMom.SetXYZ(0.,0.,0.);
50 fMom.SetXYZ(0.,0.,0.);
57 if(strcmp(fFileName,
"12C")==0){
58 std::cout<<
" 12C + Xi- --> 13BLL "<<std::endl;
62 }
else if(strcmp(fFileName,
"13C")==0){
63 std::cout<<
" 13C + Xi- --> 14BLL "<<std::endl;
67 }
else if(strcmp(fFileName,
"10B")==0){
68 std::cout<<
" 10B + Xi- --> 11BeLL "<<std::endl;
72 }
else if(strcmp(fFileName,
"11B")==0){
73 std::cout<<
" 11B + Xi- --> 12BeLL "<<std::endl;
77 }
else if(strcmp(fFileName,
"9Be")==0){
78 std::cout<<
" 9Be + Xi- --> 10LiLL "<<std::endl;
104 fPx.clear();fPy.clear();fPz.clear();
105 A.clear();
Z.clear();H.clear();
106 fMass.clear();fEx.clear();
112 cout<<
" npart razhyp "<<npart<<endl;
131 fPx.push_back(
v.Px()/1000);
132 fPy.push_back(
v.Py()/1000);
133 fPz.push_back(
v.Pz()/1000);
145 fPx.push_back(vN.Px()/1000);
146 fPy.push_back(vN.Py()/1000);
147 fPz.push_back(vN.Pz()/1000);
148 fMass.push_back(
frag_.GM[
i]);
160 fPx.push_back(
frag_.PXs[
i]/1000);
161 fPy.push_back(
frag_.PYs[
i]/1000);
162 fPz.push_back(
frag_.PZs[
i]/1000);
163 fMass.push_back(
frag_.GM[
i]);
176 else fPid.push_back(1000000000+10000000*
frag_.HG[
i]+10000*
frag_.ZG[
i] +10 *
frag_.AG[
i]);
182 fPid.push_back(2112);
194 fPid.push_back(3122);
203 cout<<
" after gamma emision npart razhyp "<<fPx.size()<<endl;
228 if(ion>1000000000&&(ion<1010000000))
234 cout<<
" ion charge "<<ZI<<
" "<<AI<<
" "<<L<<endl;
238 if((ion>1010000000||ion>1020000000))
246 cout<<L<<
" hypernuclei charge "<<ZI<<
" "<<AI<<
" "<<L<<endl;
251 if(ion==2212){AI=1;ZI=1;L=0;}
252 if(ion==2112){AI=1;ZI=0;L=0;}
253 if(ion==3122){AI=1;ZI=0;L=1;}
254 if(ion==22){AI=0;ZI=0;L=0;}
262 Double_t Mex,Pgam,Xgam,Ygam,Zgam,EL,PLmag;
265 TLorentzVector
res,PNlab,resLab;
274 Pgam = ((Mex*Mex) - (mass*mass))/(2*Mex);
277 Xgam= Ygam = Zgam = 0.;
280 rd.Sphere(Xgam,Ygam,Zgam,Pgam);
290 res.SetPxPyPzE(Xgam,Ygam,Zgam,Pgam);
295 PNlab.SetPxPyPzE(PL.X(),PL.Y(),PL.Z(),EL);
298 res.Boost(PL.X()/EL,PL.Y()/EL,PL.Z()/EL);
311 Double_t Mex,Pgam,Xgam,Ygam,Zgam,EL,PLmag;
312 TLorentzVector result,PNlab,resLab;
322 Pgam = ((Mex*Mex) - (mass*mass))/(2*Mex);
325 Xgam= Ygam = Zgam = 0.;
327 rd.Sphere(Xgam,Ygam,Zgam,-Pgam);
336 result.SetPxPyPzE(Xgam,Ygam,Zgam,
TMath::Sqrt((Pgam*Pgam) + (mass*mass)));
341 PNlab.SetPxPyPzE(PL.X(),PL.Y(),PL.Z(),EL);
344 result.Boost(PL.X()/EL,PL.Y()/EL,PL.Z()/EL);
355 E=
TMath::Sqrt(TMath::Power(mass,2)+TMath::Power(P.Mag()/1000.,2));
void initia_(double *she, int *an, int *zn, int *hn)
void GetFragment(Int_t primGen)
static T Sqrt(const T &x)
TLorentzVector GetPgCMSLab(float mass, float &Delta, TVector3 &PL, TRandom &rd)
void razhyp_gen__(double *shell)
void GetAZH(Int_t ion, Int_t &AI, Int_t &ZI, Int_t &L)
void GetData(Int_t tr, TVector3 &p, Int_t &pid, Double_t &mass)
search fragment in event
TLorentzVector GetPNuCMSLab(float mass, float &Delta, TVector3 &PL, TRandom &rd)
Double_t GetEtot(Float_t mass, TVector3 P)