#include <TGeoXtru.h> //CradleBaseVolume()
#include <TLorentzVector.h> //IsLostByFresnel()
#include <TString.h> //StepManager()
+#include <TTree.h>
ClassImp(AliHMPIDv3)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}//void AliHMPID::CreateMaterials()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-void AliHMPIDv3::InitProperties()
-{
+//void AliHMPIDv3::InitProperties()
+//{
/*
* HMPID
* ====
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;
gMC->Gstpar(idtmed[imed], "DRAY",1);
gMC->Gstpar(idtmed[imed], "LOSS",1);
-}
+}*/
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void AliHMPIDv3::CreateGeometry()
{
// Arguments: none
// Returns: none
AliDebug(1,"Start v2 HMPID.");
- InitProperties();
+ //InitProperties();
AliDebug(1,"Stop v2 HMPID.");
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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];
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);
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 );
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;
}