- // iphi - phi index of tower(cell) in SM
- // ieta - eta index of tower(cell) in SM
- Int_t GetAbsCellId(Int_t nSupMod, Int_t nModule, Int_t nIphi, Int_t nIeta) const;
- Bool_t CheckAbsCellId(Int_t absId) const;
- Bool_t GetCellIndex(Int_t absId, Int_t &nSupMod, Int_t &nModule, Int_t &nIphi, Int_t &nIeta) const;
- // Local coordinate of Super Module
- void GetModulePhiEtaIndexInSModule(Int_t nSupMod, Int_t nModule, Int_t &iphim, Int_t &ietam) const;
- void GetCellPhiEtaIndexInSModule(Int_t nSupMod, Int_t nModule, Int_t nIphi, Int_t nIeta,
- Int_t &iphi, Int_t &ieta) const ;
- Int_t GetSuperModuleNumber(Int_t absId) const;
- Int_t GetNumberOfModuleInPhiDirection(Int_t nSupMod) const
- {
- // inline function
- if(fKey110DEG == 1 && nSupMod>=10) return fNPhi/2;
- else return fNPhi;
- }
- // From cell indexes to abs cell id
- void GetModuleIndexesFromCellIndexesInSModule(Int_t nSupMod, Int_t iphi, Int_t ieta,
- Int_t &iphim, Int_t &ietam, Int_t &nModule) const;
- Int_t GetAbsCellIdFromCellIndexes(Int_t nSupMod, Int_t iphi, Int_t ieta) const;
- // Methods for AliEMCALRecPoint - Feb 19, 2006
- Bool_t RelPosCellInSModule(Int_t absId, Double_t &xr, Double_t &yr, Double_t &zr) const;
- Bool_t RelPosCellInSModule(Int_t absId, Double_t loc[3]) const;
- Bool_t RelPosCellInSModule(Int_t absId, TVector3 &vloc) const;
- // ---
- Float_t AngleFromEta(Float_t eta) const { // returns theta in radians for a given pseudorapidity
- return 2.0*TMath::ATan(TMath::Exp(-eta));
- }
- Float_t ZFromEtaR(Float_t r,Float_t eta) const { // returns z in for a given
- // pseudorapidity and r=sqrt(x*x+y*y).
- return r/TMath::Tan(AngleFromEta(eta));
- }
- void SetNZ(Int_t nz) { fNZ= nz ; printf("SetNZ: Number of modules in Z set to %d", fNZ) ; }
- void SetNPhi(Int_t nphi) { fNPhi= nphi ; printf("SetNPhi: Number of modules in Phi set to %d", fNPhi) ; }
-
- void SetNTRU(Int_t ntru) {fNTRU = ntru; printf("SetNTRU: Number of TRUs per SuperModule set to %d", fNTRU) ; }
- void SetNTRUEta(Int_t ntru) {fNTRUEta = ntru; ; printf("SetNTRU: Number of TRUs per SuperModule in Etaset to %d", fNTRUEta) ;}
- void SetNTRUPhi(Int_t ntru) {fNTRUPhi = ntru; ; printf("SetNTRU: Number of TRUs per SuperModule in Phi set to %d", fNTRUPhi) ;}
-
- void SetSampling(Float_t samp) { fSampling = samp; printf("SetSampling: Sampling factor set to %f", fSampling) ; }
-
- Int_t GetNCellsInSupMod() const {return fNCellsInSupMod;}
- Int_t GetNCellsInModule() const {return fNCellsInModule; }
- Int_t GetKey110DEG() const {return fKey110DEG;}
+ const Char_t* GetNameOfEMCALEnvelope(void) const {return fEMCGeometry->GetNameOfEMCALEnvelope();}
+ Float_t GetArm1PhiMin(void) const { return fEMCGeometry->GetArm1PhiMin(); }
+ Float_t GetArm1PhiMax(void) const { return fEMCGeometry->GetArm1PhiMax(); }
+ Float_t GetArm1EtaMin(void) const { return fEMCGeometry->GetArm1EtaMin();}
+ Float_t GetArm1EtaMax(void) const { return fEMCGeometry->GetArm1EtaMax();}
+ Float_t GetIPDistance(void) const { return fEMCGeometry->GetIPDistance();}
+ Float_t GetEnvelop(Int_t index) const { return fEMCGeometry->GetEnvelop(index); }
+ Float_t GetShellThickness(void) const { return fEMCGeometry->GetShellThickness(); }
+ Float_t GetZLength(void) const { return fEMCGeometry->GetZLength(); }
+ Int_t GetNECLayers(void) const {return fEMCGeometry->GetNECLayers();}
+ Int_t GetNZ(void) const {return fEMCGeometry->GetNZ();}
+ Int_t GetNEta(void) const {return fEMCGeometry->GetNEta();}
+ Int_t GetNPhi(void) const {return fEMCGeometry->GetNPhi();}
+ Float_t GetECPbRadThick(void)const {return fEMCGeometry->GetECPbRadThick();}
+ Float_t GetECScintThick(void) const {return fEMCGeometry->GetECScintThick();}
+ Float_t GetSampling(void) const {return fEMCGeometry->GetSampling(); }
+ Int_t GetNumberOfSuperModules(void) const {return fEMCGeometry->GetNumberOfSuperModules();}
+ Float_t GetfPhiGapForSuperModules(void) const {return fEMCGeometry->GetfPhiGapForSuperModules();}
+ Float_t GetPhiModuleSize(void) const {return fEMCGeometry->GetPhiModuleSize();}
+ Float_t GetEtaModuleSize(void) const {return fEMCGeometry->GetEtaModuleSize();}
+ Float_t GetFrontSteelStrip(void) const {return fEMCGeometry->GetFrontSteelStrip();}
+ Float_t GetLateralSteelStrip(void) const {return fEMCGeometry->GetLateralSteelStrip();}
+ Float_t GetPassiveScintThick(void) const {return fEMCGeometry->GetPassiveScintThick();}
+ Float_t GetPhiTileSize(void) const {return fEMCGeometry->GetPhiTileSize();}
+ Float_t GetEtaTileSize(void) const {return fEMCGeometry->GetEtaTileSize();}
+ Int_t GetNPhiSuperModule(void) const {return fEMCGeometry->GetNPhiSuperModule();}
+ Int_t GetNPHIdiv(void) const {return fEMCGeometry->GetNPHIdiv();}
+ Int_t GetNETAdiv(void) const {return fEMCGeometry->GetNETAdiv();}
+ Int_t GetNCells(void) const {return fEMCGeometry->GetNCells();}
+ Float_t GetLongModuleSize(void) const {return fEMCGeometry->GetLongModuleSize();}
+ Float_t GetTrd1Angle(void) const {return fEMCGeometry->GetTrd1Angle();}
+ Float_t Get2Trd1Dx2(void) const {return fEMCGeometry->Get2Trd1Dx2();}
+ // --
+ Int_t GetNCellsInSupMod(void) const {return fEMCGeometry->GetNCellsInSupMod();}
+ Int_t GetNCellsInModule(void) const {return fEMCGeometry->GetNCellsInModule(); }
+ Int_t GetKey110DEG(void) const {return fEMCGeometry->GetKey110DEG();}
+ Int_t GetILOSS(void) const {return fEMCGeometry->GetILOSS();}
+ Int_t GetIHADR(void) const {return fEMCGeometry->GetIHADR();}
+ // For gamma(Jet) trigger simulations
+ Int_t GetNTRU() const {return fEMCGeometry->GetNTRU(); }
+ Int_t GetNTRUEta() const {return fEMCGeometry->GetNTRUEta(); }
+ Int_t GetNTRUPhi() const {return fEMCGeometry->GetNTRUPhi(); }
+ Int_t GetNEtaSubOfTRU() const {return fEMCGeometry->GetNEtaSubOfTRU();}
+ Int_t GetNModulesInTRU() const {return fEMCGeometry->GetNModulesInTRU(); }
+ Int_t GetNModulesInTRUEta() const {return fEMCGeometry->GetNModulesInTRUEta(); }
+ Int_t GetNModulesInTRUPhi() const {return fEMCGeometry->GetNModulesInTRUPhi(); }
+
+ // --
+ Float_t GetDeltaEta(void) const {return fEMCGeometry->GetDeltaEta();}
+ Float_t GetDeltaPhi(void) const {return fEMCGeometry->GetDeltaPhi();}
+ Int_t GetNTowers(void) const {return fEMCGeometry->GetNTowers();}
+ //
+ Double_t GetPhiCenterOfSM(Int_t nsupmod) const {return fEMCGeometry->GetPhiCenterOfSM(nsupmod);}
+ Float_t *GetSuperModulesPars(void) const {return fEMCGeometry->GetSuperModulesPars();}
+ //
+ Bool_t GetPhiBoundariesOfSM(Int_t nSupMod, Double_t &phiMin, Double_t &phiMax) const {return fEMCGeometry->GetPhiBoundariesOfSM(nSupMod, phiMin, phiMax);}
+ Bool_t GetPhiBoundariesOfSMGap(Int_t nPhiSec, Double_t &phiMin, Double_t &phiMax) const {return fEMCGeometry->GetPhiBoundariesOfSMGap(nPhiSec, phiMin, phiMax);}
+ //
+
+ // Methods for AliEMCALRecPoint with taking into account energy of rec.point - Jul 30. 2007
+ using AliEMCALGeoUtils::RelPosCellInSModule;
+ Bool_t RelPosCellInSModule(Int_t absId,Double_t distEff,Double_t &xr,Double_t &yr,
+ Double_t & zr) const;
+ Bool_t RelPosCellInSModule(Int_t absId,Int_t maxAbsId,Double_t distEff,Double_t &xr,
+ Double_t &yr,Double_t &zr) const;
+
+ ///////////////////////////////
+ //Geometry data member setters
+ //
+ void SetNZ(Int_t nz) { fEMCGeometry->SetNZ(nz);}
+ void SetNPhi(Int_t nphi) { fEMCGeometry->SetNPhi(nphi);}