fHistAbso(0),
fHistGcm2(0),
fHistReta(0),
+ fRZR(0),
+ fRZA(0),
+ fRZG(0),
fVolumesFwd(0),
fVolumesBwd(0),
fStepBack(0),
fHistAbso(0),
fHistGcm2(0),
fHistReta(0),
+ fRZR(0),
+ fRZA(0),
+ fRZG(0),
fVolumesFwd(0),
fVolumesBwd(0),
fStepBack(0),
fHistAbso(0),
fHistGcm2(0),
fHistReta(0),
+ fRZR(0),
+ fRZA(0),
+ fRZG(0),
fVolumesFwd(0),
fVolumesBwd(0),
fStepBack(0),
ntheta,thetamin,thetamax,nphi,phimin,phimax);
fHistGcm2 = new TH2F("hgcm2","g/cm2 length map",
ntheta,thetamin,thetamax,nphi,phimin,phimax);
+ fRZR = new TH2F("rzR","Radiation length @ (r,z)",
+ zmax,-zmax,zmax,(rmax-rmin),rmin,rmax);
+ fRZR->SetXTitle("#it{z} [cm]");
+ fRZR->SetYTitle("#it{r} [cm]");
+ fRZA = static_cast<TH2F*>(fRZR->Clone("rzA"));
+ fRZA->SetTitle("Interaction length @ (r,z)");
+ fRZG = static_cast<TH2F*>(fRZR->Clone("rzG"));
+ fRZG->SetTitle("g/cm^{2} @ (r,z)");
+
//
fVolumesFwd = new TClonesArray("AliDebugVolume",1000);
fVolumesBwd = new TClonesArray("AliDebugVolume",1000);
fHistAbso(0),
fHistGcm2(0),
fHistReta(0),
+ fRZR(0),
+ fRZA(0),
+ fRZG(0),
fVolumesFwd(0),
fVolumesBwd(0),
fStepBack(0),
n2, c2min, c2max, n1, c1min, c1max);
fHistGcm2 = new TH2F("hgcm2","g/cm2 length map",
n2, c2min, c2max, n1, c1min, c1max);
+ Double_t rmax = generator->RadMax();
+ Double_t rmin = 0;
+ Double_t zmax = generator->ZMax();
+ fRZR = new TH2F("rzR","Radiation length @ (r,z)",
+ 2*zmax,-zmax,zmax,(rmax-rmin),rmin,rmax);
+ fRZR->SetXTitle("#it{z} [cm]");
+ fRZR->SetYTitle("#it{r} [cm]");
+ fRZA = static_cast<TH2F*>(fRZR->Clone("rzA"));
+ fRZA->SetTitle("Interaction length @ (r,z)");
+ fRZG = static_cast<TH2F*>(fRZR->Clone("rzG"));
+ fRZG->SetTitle("g/cm^{2} @ (r,z)");
//
//
fHistRadl->Write();
fHistAbso->Write();
fHistGcm2->Write();
+ fRZR->Write();
+ fRZA->Write();
+ fRZG->Write();
// Delete histograms from memory
fHistRadl->Delete(); fHistRadl=0;
// Get current material properties
TVirtualMC::GetMC()->CurrentMaterial(a,z,dens,radl,absl);
-
+ Double_t r = TMath::Sqrt(pos[0]*pos[0] +pos[1]*pos[1]);
+ fRZR->Fill(pos[2], r, step/radl);
+ fRZA->Fill(pos[2], r ,step/absl);
+ fRZG->Fill(pos[2], r, step*dens);
+
if (z < 1) return;
// --- See if we have to stop now
if (TMath::Abs(pos[2]) > TMath::Abs(fGener->ZMax()) ||
- pos[0]*pos[0] +pos[1]*pos[1] > fGener->RadMax()*fGener->RadMax()) {
+ r > fGener->RadMax()) {
if (!TVirtualMC::GetMC()->IsNewTrack()) {
// Not the first step, add past contribution
if (!fStopped) {