]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HMPID/AliHMPIDv3.cxx
minors
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDv3.cxx
index 133a42f82d53559d38921242bc9fdd7b2b8be229..fd84ee67581b666c947d1f52599f87eab6bc4d77 100644 (file)
@@ -40,6 +40,7 @@
 #include <TGeoXtru.h>           //CradleBaseVolume()
 #include <TLorentzVector.h>     //IsLostByFresnel() 
 #include <TString.h>            //StepManager()
+#include <TTree.h>
 
 ClassImp(AliHMPIDv3)    
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -135,8 +136,8 @@ void AliHMPIDv3::CreateMaterials()
         
 }//void AliHMPID::CreateMaterials()
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-void AliHMPIDv3::InitProperties()
-{
+//void AliHMPIDv3::InitProperties()
+//{
 /*
 * HMPID
 * ====
@@ -154,7 +155,7 @@ HMPID  9  1.e-5 1.e-5 1.e-4  -1.   1.e-4 -1.   -1.    5.e-5 5.e-5 -1.  -1   -1
 HMPID  6  1.e-5 1.e-5 1.e-4  -1.   1.e-4 -1.   -1.    5.e-5 5.e-5 -1.  -1   -1   -1   -1   1    -1   1    -1   -1   -1   -1 
 * PCB backplane   (>  50 keV delta-electrons)
 HMPID 12  1.e-5 1.e-5 1.e-4  -1.   1.e-4 -1.   -1.    5.e-5 5.e-5 -1.  -1   -1   -1   -1   1    -1   1    -1   -1   -1   -1 
-*/
+
     Int_t *idtmed = fIdtmed->GetArray();
     Int_t imed;
     
@@ -235,7 +236,7 @@ HMPID 12  1.e-5 1.e-5 1.e-4  -1.   1.e-4 -1.   -1.    5.e-5 5.e-5 -1.  -1   -1
     gMC->Gstpar(idtmed[imed], "DRAY",1);    
     gMC->Gstpar(idtmed[imed], "LOSS",1);    
     
-}
+}*/
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 void AliHMPIDv3::CreateGeometry()
 {
@@ -507,7 +508,7 @@ void AliHMPIDv3::Init()
 // Arguments: none
 //   Returns: none      
   AliDebug(1,"Start v2 HMPID.");    
-  InitProperties();
+  //InitProperties();
   AliDebug(1,"Stop v2 HMPID.");    
 }
 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -516,8 +517,9 @@ void AliHMPIDv3::DefineOpticalProperties()
   AliDebug(1,"");    
 
 // Optical properties definition.
-  const Int_t kNbins=30;       //number of photon energy points
-  Float_t emin=5.5,emax=8.5;         //Photon energy range,[eV]
+  const Int_t kNbins=30;                 //number of photon energy points
+  Float_t emin=5.5,emax=8.5;             //Photon energy range,[eV]
+  Float_t deltaE = (emax - emin)/kNbins;
   Float_t aEckov [kNbins]; 
   Double_t dEckov [kNbins]; 
   Float_t aAbsRad[kNbins], aAbsWin[kNbins], aAbsGap[kNbins], aAbsMet[kNbins];
@@ -540,7 +542,7 @@ void AliHMPIDv3::DefineOpticalProperties()
   Bool_t isFlatIdx=title.Contains("FlatIdx"); 
   
   for(Int_t i=0;i<kNbins;i++){
-    Float_t eV=emin+0.1*i;  //Ckov energy in eV
+    Float_t eV=emin+deltaE*i;  //Ckov energy in eV
     aEckov [i] =1e-9*eV;    //Ckov energy in GeV
     dEckov [i] = aEckov[i];
     aAbsRad[i]=pRaAF->Eval(eV); (isFlatIdx)? aIdxRad[i]=1.292: aIdxRad[i]=pRaIF->Eval(eV,20);     
@@ -549,7 +551,7 @@ void AliHMPIDv3::DefineOpticalProperties()
     aQeAll[i] =1;                     //QE for all other materials except for PC must be 1.  
     aAbsMet[i] =0.0001;                aIdxMet[i]=0;                                             //metal ref idx must be 0 in order to reflect photon
                                        aIdxPc [i]=1;           aQePc [i]=pQeF->Eval(eV);         //PC ref idx must be 1 in order to apply photon to QE conversion 
-    dQePc [i]=pQeF->Eval(eV);
+    dQePc [i]= pQeF->Eval(eV);
     dReflMet[i] = 0.;     // no reflection on the surface of the pc (?)                                       
   }
   gMC->SetCerenkov((*fIdtmed)[kC6F14]    , kNbins, aEckov, aAbsRad  , aQeAll , aIdxRad );    
@@ -561,10 +563,11 @@ void AliHMPIDv3::DefineOpticalProperties()
   gMC->SetCerenkov((*fIdtmed)[kAl]       , kNbins, aEckov, aAbsMet  , aQeAll , aIdxMet );    
 
   // Define a skin surface for the photocatode to enable 'detection' in G4
-  gMC->DefineOpSurface("surfPc", kGlisur /*kUnified*/,kDielectric_metal,kPolished, 0.);
-  gMC->SetMaterialProperty("surfPc", "EFFICIENCY", kNbins, dEckov, dQePc);
-  gMC->SetMaterialProperty("surfPc", "REFLECTIVITY", kNbins, dEckov, dReflMet);
-  gMC->SetSkinSurface("skinPc", "Rpc", "surfPc");
+  for(Int_t i=0; i<7; i++){
+  gMC->DefineOpSurface(Form("surfPc%i",i), kGlisur /*kUnified*/,kDielectric_metal,kPolished, 0.);
+  gMC->SetMaterialProperty(Form("surfPc%i",i), "EFFICIENCY", kNbins, dEckov, dQePc);
+  gMC->SetMaterialProperty(Form("surfPc%i",i), "REFLECTIVITY", kNbins, dEckov, dReflMet);
+  gMC->SetSkinSurface(Form("skinPc%i",i), Form("Hpad%i",i),Form("surfPc%i",i)); }
 
   delete pRaAF;delete pWiAF;delete pGaAF; delete pRaIF; delete pWiIF; delete pGaIF; delete pQeF;
 }