X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FAliTOFv2FHoles.cxx;h=2c63e8ed0c11491736d783d62bf67950ca762874;hb=7454372ccf12d89dbf02473f67e830499f96fe99;hp=24d7a0abf96bb55a73e6626a63595e7682727a56;hpb=88cb7938ca21d4a80991d4e7aa564008c29340f7;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/AliTOFv2FHoles.cxx b/TOF/AliTOFv2FHoles.cxx index 24d7a0abf96..2c63e8ed0c1 100644 --- a/TOF/AliTOFv2FHoles.cxx +++ b/TOF/AliTOFv2FHoles.cxx @@ -57,6 +57,8 @@ #include "AliMagF.h" #include "AliRun.h" #include "AliTOFv2FHoles.h" +#include "AliTOFConstants.h" // AdC +#include "AliMC.h" ClassImp(AliTOFv2FHoles) @@ -456,23 +458,26 @@ void AliTOFv2FHoles::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, // 1 cm is a special value exclusively for AliTOFv2FHoles geometry Float_t zpos = 0; Float_t ang = 0; - Int_t i=1,j=1; + Int_t j=1; // AdC nrot = 0; zcoor = 0; ycoor = -14.5 + kspace ; //2 cm over front plate AliMatrix (idrotm[0], 90., 0.,90.,90.,0., 90.); - gMC->Gspos("FSTR",j,"FLTA",0.,ycoor, 0.,idrotm[0],"ONLY"); - + + Int_t centerLoc= (Int_t)(fNStripA/2.) + 1; // AdC + + //gMC->Gspos("FSTR",j,"FLTA",0.,ycoor, 0.,idrotm[0],"ONLY"); + gMC->Gspos("FSTR",centerLoc,"FLTA",0.,ycoor, 0.,idrotm[0],"ONLY"); // AdC if(fDebug>=1) { - printf("%s: %f, St. %2i, Pl.3 ",ClassName(),ang*kRaddeg,i); + printf("%s: %f, St. %2i, Pl.3 ",ClassName(),ang*kRaddeg,j); // AdC printf("%s: y = %f, z = %f, zpos = %f \n",ClassName(),ycoor,zcoor,zpos); } zcoor -= zSenStrip; - j++; + //j++; // AdC Int_t upDown = -1; // upDown=-1 -> Upper strip - // upDown=+1 -> Lower strip + // upDown=+1 -> Lower strip do{ ang = atan(zcoor/radius); ang *= kRaddeg; @@ -481,15 +486,16 @@ void AliTOFv2FHoles::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, ang /= kRaddeg; ycoor = -14.5+ kspace; //2 cm over front plate ycoor += (1-(upDown+1)/2)*gap; - gMC->Gspos("FSTR",j ,"FLTA",0.,ycoor, zcoor,idrotm[nrot], "ONLY"); - gMC->Gspos("FSTR",j+1,"FLTA",0.,ycoor,-zcoor,idrotm[nrot+1],"ONLY"); - + //gMC->Gspos("FSTR",j ,"FLTA",0.,ycoor, zcoor,idrotm[nrot], "ONLY"); + //gMC->Gspos("FSTR",j+1,"FLTA",0.,ycoor,-zcoor,idrotm[nrot+1],"ONLY"); + gMC->Gspos("FSTR",centerLoc-j,"FLTA",0.,ycoor, zcoor,idrotm[nrot], "ONLY"); // AdC + gMC->Gspos("FSTR",centerLoc+j,"FLTA",0.,ycoor,-zcoor,idrotm[nrot+1],"ONLY"); // AdC if(fDebug>=1) { - printf("%s: %f, St. %2i, Pl.3 ",ClassName(),ang*kRaddeg,i); + printf("%s: %f, St. %2i, Pl.3 ",ClassName(),ang*kRaddeg,j); // AdC printf("%s: y = %f, z = %f, zpos = %f \n",ClassName(),ycoor,zcoor,zpos); } - j += 2; + j++; //j += 2; // AdC upDown*= -1; // Alternate strips zcoor = zcoor-(zSenStrip/2)/TMath::Cos(ang)- upDown*gap*TMath::Tan(ang)- @@ -515,21 +521,22 @@ void AliTOFv2FHoles::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, ycoor += (1-(upDown+1)/2)*gap; /* for FRAME v0 - gMC->Gspos("FSTR",j ,"FLTA",0.,ycoor, zcoor,idrotm[nrot], "ONLY"); - gMC->Gspos("FSTR",j+1,"FLTA",0.,ycoor,-zcoor,idrotm[nrot+1],"ONLY"); + //gMC->Gspos("FSTR",j ,"FLTA",0.,ycoor, zcoor,idrotm[nrot], "ONLY"); + //gMC->Gspos("FSTR",j+1,"FLTA",0.,ycoor,-zcoor,idrotm[nrot+1],"ONLY"); + gMC->Gspos("FSTR",centerLoc-j,"FLTA",0.,ycoor, zcoor,idrotm[nrot], "ONLY"); // AdC + gMC->Gspos("FSTR",centerLoc+j,"FLTA",0.,ycoor,-zcoor,idrotm[nrot+1],"ONLY"); // AdC + if(fDebug>=1) { + printf("%s: %f, St. %2i, Pl.3 ",ClassName(),ang*kRaddeg,j); // AdC + printf("%s: y = %f, z = %f, zpos = %f \n",ClassName(),ycoor,zcoor,zpos); + } */ - if(fDebug>=1) { - printf("%s: %f, St. %2i, Pl.3 ",ClassName(),ang*kRaddeg,i); - printf("%s: y = %f, z = %f, zpos = %f \n",ClassName(),ycoor,zcoor,zpos); - } - ycoor = -hTof/2.+ kspace;//2 cm over front plate // Plate B nrot = 0; - i=1; + Int_t i=1; // AdC upDown = 1; Float_t deadRegion = 1.0;//cm @@ -567,7 +574,6 @@ void AliTOFv2FHoles::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, ycoor += (1-(upDown+1)/2)*gap; zcoor = zpos+(zFLTA*0.5+zFLTB*0.5+db); // Moves to the system of the modulus FLTB gMC->Gspos("FSTR",i, "FLTB", 0., ycoor, zcoor,idrotm[nrot], "ONLY"); - if(fDebug>=1) { printf("%s: %f, St. %2i, Pl.4 ",ClassName(),ang*kRaddeg,i); printf("%s: y = %f, z = %f, zpos = %f \n",ClassName(),ycoor,zcoor,zpos); @@ -623,7 +629,6 @@ void AliTOFv2FHoles::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, zcoor = zpos+(zFLTC*0.5+zFLTB+zFLTA*0.5+db*2); if (i!=1) gMC->Gspos("FSTR",i, "FLTC", 0., ycoor, zcoor,idrotm[nrot], "ONLY"); - if(fDebug>=1) { printf("%s: %f, St. %2i, Pl.5 ",ClassName(),ang*kRaddeg,i); printf("%s: y = %f, z = %f, zpos = %f \n",ClassName(),ycoor,zcoor,zpos); @@ -631,8 +636,8 @@ void AliTOFv2FHoles::TOFpc(Float_t xtof, Float_t ytof, Float_t zlenC, zpos = zpos - zSenStrip/TMath::Cos(ang); } while (zpos-stripWidth*TMath::Cos(ang)*0.5>-t); - - + + ////////// Layers after strips ///////////////// // Al Layer thickness (2.3mm) factor 0.7 @@ -1075,7 +1080,7 @@ void AliTOFv2FHoles::StepManager() Int_t *idtmed = fIdtmed->GetArray()-499; Float_t incidenceAngle; - if(gMC->GetMedium()==idtmed[513] && + if(gMC->CurrentMedium()==idtmed[513] && gMC->IsTrackEntering() && gMC->TrackCharge() && gMC->CurrentVolID(copy)==fIdSens) { @@ -1124,19 +1129,29 @@ void AliTOFv2FHoles::StepManager() if (z <-(fZlenA*0.5+fZlenB)) plate = 1; end to be changed */ - if (TMath::Abs(z) <= 124.*0.5) plate = 3; + if (TMath::Abs(z) <= 124.*0.5) plate = 2; //3; // AdC if (z < (124.*0.5+154.) && - z > 124.*0.5) plate = 4; + z > 124.*0.5) plate = 1; //4; // AdC if (z >-(124.*0.5+154.) && - z < -124.*0.5) plate = 2; - if (z > (124.*0.5+154.)) plate = 5; - if (z <-(124.*0.5+154.)) plate = 1; + z < -124.*0.5) plate = 3; //2; // AdC + if (z > (124.*0.5+154.)) plate = 0; //5; // AdC + if (z <-(124.*0.5+154.)) plate = 4; //1; // AdC + + if (plate==0) strip=AliTOFConstants::fgkNStripC-strip; // AdC + else if (plate==1) strip=AliTOFConstants::fgkNStripB-strip; // AdC + else strip--; // AdC + + if (z<=0.) padx=AliTOFConstants::fgkNpadX-padx; // AdC + else padx--; // AdC + if (plate==3 || plate==4) padz=AliTOFConstants::fgkNpadZ-padz; // AdC + else padz--; // AdC phi = pos.Phi(); - phid = phi*kRaddeg+180.; + if (phi>=0.) phid = phi*kRaddeg; //+180.; // AdC + else phid = phi*kRaddeg + 360.; // AdC sector = Int_t (phid/20.); - sector++; + //sector++; // AdC for(i=0;i<3;++i) { hits[i] = pos[i]; @@ -1157,6 +1172,6 @@ void AliTOFv2FHoles::StepManager() vol[3]= padx; vol[4]= padz; - AddHit(gAlice->CurrentTrack(),vol, hits); + AddHit(gAlice->GetMCApp()->GetCurrentTrackNumber(),vol, hits); } }