V0C as air volume added and 4 corner modules T0C removed
authoralla <Alla.Maevskaya@cern.ch>
Fri, 23 Jan 2015 08:04:56 +0000 (09:04 +0100)
committeralla <Alla.Maevskaya@cern.ch>
Tue, 27 Jan 2015 21:24:43 +0000 (22:24 +0100)
FIT/FITsim/AliFITv2.cxx

index 7d419a3..6e2346e 100644 (file)
@@ -105,11 +105,11 @@ void AliFITv2::CreateGeometry()
 
   Int_t *idtmed = fIdtmed->GetArray();
   Float_t zdetC = 85;
-  Float_t zdetA = 335;
+  Float_t zdetA = 333;
   
   Int_t idrotm[999];
   Double_t x,y,z;
-  Float_t pstartC[3] = {6., 20 ,5};
+  Float_t pstartC[3] = {6., 20 ,4.5};
   Float_t pstartA[3] = {2.55, 20 ,5};
   // Float_t pinstart[3] = {3.2,3.2,3.9};
   Float_t pinstart[3] = {3.2,3.2,4.};
@@ -118,8 +118,9 @@ void AliFITv2::CreateGeometry()
   Float_t preg[3] = {1.324, 1.324, 0.05};//photcathode 
 
   Float_t zV0A = 325.;
-  Float_t pV0Amother[3] = {4.25, 41.25, 0.6};
-  Float_t pV0A[3] = {4.3, 41.2, 0.5};
+  Float_t zV0C = 89;
+  Float_t pV0Amother[3] = {4.25, 41.25, 0.15};
+  Float_t pV0A[3] = {4.3, 41.2, 0.1};
 
   AliMatrix(idrotm[901], 90., 0., 90., 90., 180., 0.);
   
@@ -149,7 +150,7 @@ void AliFITv2::CreateGeometry()
       nameTr = Form("0TR%i",itr+1);
       z=-pstartA[2]+pinstart[2]/* +za[itr]*/;
       if(itr !=12){
-       if(TMath::Abs(xa)<10 && TMath::Abs(ya)<10) z= z-2;
+       if(TMath::Abs(xa)<10 && TMath::Abs(ya)<10) z= z+2;
        tr[itr] = new TGeoTranslation(nameTr.Data(),xa,ya, z );
        tr[itr]->RegisterYourself();
        stlinA->AddNode(ins,itr,tr[itr]);
@@ -161,18 +162,23 @@ void AliFITv2::CreateGeometry()
     ya=-12.8;
     xa+=6.4;
   }
+  //T0+ C
   Float_t xc=-16;
   Float_t yc=-16;
   for (Int_t itrx=0; itrx<6; itrx++) {
     for (Int_t itry=0; itry<6; itry++) {
       nameTr = Form("0TR%i",itr+1);
       z=-pstartC[2]+pinstart[2] /*+ zc[itr] */;
-      if (itr!=39 && itr!=40 && itr!=45 &&itr!=46) {
+      if (itr!=25 && itr!=30 && itr!=60 && itr!=55 
+         && itr!=39 && itr!=40 && itr!=45 &&itr!=46) {
        if( TMath::Abs(xc)<10 &&  TMath::Abs(yc)<10) z= z+2;
        tr[itr] = new TGeoTranslation(nameTr.Data(),xc,yc, z );
        tr[itr]->RegisterYourself();
        stlinC->AddNode(ins,itr,tr[itr]);
       }
+      else 
+       printf("HOLE  C %i %f %f %f \n",itr,xc, yc, z+zdetC);
       printf(" C %i %f %f %f \n",itr,xc, yc, z+zdetC);
       itr++;
       yc+=6.4;
@@ -218,9 +224,10 @@ void AliFITv2::CreateGeometry()
    z=-pinstart[2] + 2*ptop[2] + 2*preg[2] + pmcp[2];
   ins->AddNode(mcp, 1 , new TGeoTranslation(0,0,z) );
 
-  //V0A 
+  //V0A && V0C
    TVirtualMC::GetMC()->Gsvolu("0V0AM","TUBE",idtmed[kAir],pV0Amother,3);
    TVirtualMC::GetMC()->Gspos ("0V0AM",1, "ALIC", 0,0,zV0A , 0, "ONLY");
+   TVirtualMC::GetMC()->Gspos ("0V0AM",2, "ALIC", 0,0,-zV0C , 0, "ONLY");
    TVirtualMC::GetMC()->Gsvolu("0V0A","TUBE",idtmed[kSensAir],pV0A,3);
    TVirtualMC::GetMC()->Gspos ("0V0A",1, "0V0AM", 0, 0, 0, 0, "ONLY");
 
@@ -456,6 +463,7 @@ void AliFITv2::StepManager()
        hits[5]=ttime*1e12;
        AddHit(gAlice->GetMCApp()->GetCurrentTrackNumber(),vol,hits);
        //      printf(" volumes pmt %i mcp %i vol %i x %f y %f z %f particle %i all \n",  vol[0], vol[1],  vol[2], hits[0], hits[1], hits[2], hits[4]);
+       AddTrackReference(gAlice->GetMCApp()->GetCurrentTrackNumber(), AliTrackReference::kFIT);
       }
     }    
   }