AliPHOSGeometry is removed from AliPHOSGetter and AliPHOSLoader
authorkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 5 Apr 2008 19:32:14 +0000 (19:32 +0000)
committerkharlov <kharlov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 5 Apr 2008 19:32:14 +0000 (19:32 +0000)
16 files changed:
PHOS/AliPHOSAnalyze.cxx
PHOS/AliPHOSCpvRecPoint.cxx
PHOS/AliPHOSEmcRecPoint.cxx
PHOS/AliPHOSEvalRecPoint.cxx
PHOS/AliPHOSGetter.cxx
PHOS/AliPHOSGetter.h
PHOS/AliPHOSGetterLight.h
PHOS/AliPHOSIhepAnalyze.cxx
PHOS/AliPHOSLoader.cxx
PHOS/AliPHOSLoader.h
PHOS/AliPHOSOnlineMonitor.cxx
PHOS/AliPHOSRecCpvManager.cxx
PHOS/AliPHOSRecParticle.cxx
PHOS/AliPHOSRecPoint.cxx
PHOS/AliPHOSSDigitizer.cxx
PHOS/AliPHOSTrigger.cxx

index bf71e8b..d625448 100644 (file)
@@ -159,7 +159,7 @@ void AliPHOSAnalyze::DrawRecon(Int_t Nevent,Int_t Nmod){
     AliError(Form("There is no event %d only %d events available", Nevent, fRunLoader->GetNumberOfEvents() )) ;
     return ;
   }
-  const AliPHOSGeometry * phosgeom = gime->PHOSGeometry() ; 
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
   fRunLoader->GetEvent(Nevent);
 
   Int_t nx = phosgeom->GetNPhi() ;
@@ -679,7 +679,7 @@ void AliPHOSAnalyze::Ls(){
    } 
 
 
-  const AliPHOSGeometry * phosgeom = gime->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   Int_t ievent;
   Int_t maxevent = (Int_t)fRunLoader->TreeE()->GetEntries();
@@ -835,7 +835,7 @@ void AliPHOSAnalyze::PositionResolution()
   
   if (fRunLoader->TreeE() == 0x0) fRunLoader->LoadHeader();
 
-  const AliPHOSGeometry * phosgeom = gime->PHOSGeometry() ; 
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   Int_t ievent;
   Int_t maxevent = (Int_t)fRunLoader->TreeE()->GetEntries() ; 
@@ -1060,7 +1060,7 @@ void AliPHOSAnalyze::Contamination(){
    } 
   
   if (fRunLoader->TreeE() == 0x0) fRunLoader->LoadHeader();
-  const AliPHOSGeometry * phosgeom = gime->PHOSGeometry() ; 
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
   
   Int_t ievent;
   Int_t maxevent = (Int_t)fRunLoader->TreeE()->GetEntries() ; 
index 2c515e3..9142010 100644 (file)
  *
  * Revision 1.25  2007/03/06 06:47:28  kharlov
  * DP:Possibility to use actual vertex position added
- *
- * Revision 1.24  2006/08/28 10:01:56  kharlov
- * Effective C++ warnings fixed (Timur Pocheptsov)
- *
- * Revision 1.23  2005/12/20 14:28:47  hristov
- * Additional protection
- *
- * Revision 1.22  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
  */
 
 //_________________________________________________________________________
 //  RecPoint implementation for PHOS-CPV
 //  An CpvRecPoint is a cluster of digits   
-//*-- Author: Yuri Kharlov
+//-- Author: Yuri Kharlov
 //  (after Dmitri Peressounko (RRC KI & SUBATECH))
 //  30 October 2000 
 
@@ -89,7 +79,7 @@ Bool_t AliPHOSCpvRecPoint::AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * d
   
   Bool_t aren = kFALSE ;
   
-  AliPHOSGeometry * phosgeom =  AliPHOSLoader::GetPHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   Int_t relid1[4] ; 
   phosgeom->AbsToRelNumbering(digit1->GetId(), relid1) ; 
@@ -287,7 +277,7 @@ void AliPHOSCpvRecPoint::EvalLocalPosition(Float_t logWeight, TVector3 & /*vtx *
   
   AliPHOSDigit * digit ;
 
-  AliPHOSGeometry * phosgeom =  AliPHOSLoader::GetPHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance();
   
   Int_t iDigit;
 
@@ -338,7 +328,7 @@ void AliPHOSCpvRecPoint::EvalClusterLengths(TClonesArray * digits)
 
   AliPHOSDigit * digit ;
 
-  AliPHOSGeometry * phosgeom =  AliPHOSLoader::GetPHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance();
 
   const Int_t kMaxLeng=20;
   Int_t idX[kMaxLeng], idZ[kMaxLeng];
index 63604ad..3f7c4b7 100644 (file)
  *
  * Revision 1.55  2007/01/19 20:31:19  kharlov
  * Improved formatting for Print()
- *
- * Revision 1.54  2006/08/28 10:01:56  kharlov
- * Effective C++ warnings fixed (Timur Pocheptsov)
- *
- * Revision 1.53  2005/12/20 14:28:47  hristov
- * Additional protection
- *
- * Revision 1.52  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
  */
 
 //_________________________________________________________________________
 //  RecPoint implementation for PHOS-EMC 
 //  An EmcRecPoint is a cluster of digits   
-//*--
-//*-- Author: Dmitri Peressounko (RRC KI & SUBATECH)
+//--
+//-- Author: Dmitri Peressounko (RRC KI & SUBATECH)
 
 
 // --- ROOT system ---
index cd7dbf3..df81c9f 100644 (file)
@@ -313,7 +313,7 @@ void AliPHOSEvalRecPoint::InitTwoGam(Float_t* gamma1, Float_t* gamma2)
   Float_t cos2fi = 1.;
 
   AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName);
-  const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   Int_t iDigit; //loop variable
 
@@ -321,8 +321,8 @@ void AliPHOSEvalRecPoint::InitTwoGam(Float_t* gamma1, Float_t* gamma2)
     {
       digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); 
       eDigit = energies[iDigit];
-      fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
-      fGeom->RelPosInModule(relid, iy, ix);
+      phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
+      phosgeom->RelPosInModule(relid, iy, ix);
     
       Float_t dx =  ix - xx;
       Float_t dy =  iy - yy;
@@ -344,8 +344,8 @@ void AliPHOSEvalRecPoint::InitTwoGam(Float_t* gamma1, Float_t* gamma2)
     {
       digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); 
       eDigit = energies[iDigit];
-      fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
-      fGeom->RelPosInModule(relid, iy, ix);
+      phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
+      phosgeom->RelPosInModule(relid, iy, ix);
     
       Float_t dx =  ix - xx;
       Float_t dy =  iy - yy;
@@ -443,7 +443,7 @@ void AliPHOSEvalRecPoint::TwoGam(Float_t* gamma1, Float_t* gamma2)
   Int_t relid[4] ; 
 
   AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName);
-  const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   for(Int_t iter=0; iter<nIter; iter++)
     {
@@ -458,8 +458,8 @@ void AliPHOSEvalRecPoint::TwoGam(Float_t* gamma1, Float_t* gamma2)
        {
          digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); 
          eDigit = energies[iDigit];
-         fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
-         fGeom->RelPosInModule(relid, iy, ix);
+         phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
+         phosgeom->RelPosInModule(relid, iy, ix);
          
          Float_t a1,gx1,gy1;
          Float_t a2,gx2,gy2;
@@ -602,15 +602,15 @@ void AliPHOSEvalRecPoint::UnfoldTwoMergedPoints(Float_t* gamma1, Float_t* gamma2
   Float_t* eFit = new Float_t[nDigits];
 
   AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName);
-  const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   for(Int_t iDigit=0; iDigit<nDigits; iDigit++)
     {
       AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); 
       Int_t relid[4] ;
-      fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
+      phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
       Float_t x,z;     
-      fGeom->RelPosInModule(relid, x, z);
+      phosgeom->RelPosInModule(relid, x, z);
 
       Float_t gain = 0.;
       for(Int_t iMax=0; iMax<nMax; iMax++)
@@ -655,9 +655,9 @@ void AliPHOSEvalRecPoint::UnfoldTwoMergedPoints(Float_t* gamma1, Float_t* gamma2
          AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] ); 
          Float_t eDigit = energies[iDigit];
          Int_t relid[4] ;
-         fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
+         phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
          Float_t ix,iz;
-         fGeom->RelPosInModule(relid, ix, iz);
+         phosgeom->RelPosInModule(relid, ix, iz);
          
          Float_t dx = xMax - ix;
          Float_t dz = zMax - iz;
@@ -720,7 +720,7 @@ void AliPHOSEvalRecPoint::EvaluatePosition()
   Float_t chisqc;
 
   AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName);
-  const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   for(Int_t iter=0; iter<nIter; iter++)
     {
@@ -735,8 +735,8 @@ void AliPHOSEvalRecPoint::EvaluatePosition()
          Int_t* digits = GetDigitsList();
          digit = (AliPHOSDigit*)fLoader->Digits()->At( digits[iDigit] );
          eDigit = energies[iDigit];
-         fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
-         fGeom->RelPosInModule(relid, iy, ix);
+         phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
+         phosgeom->RelPosInModule(relid, iy, ix);
       
          dx =  xc - ix;
          dy =  yc - iy;
@@ -948,7 +948,7 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima()
   }
 
   AliPHOSLoader* fLoader = AliPHOSLoader::GetPHOSLoader(fEventFolderName);
-  const AliPHOSGeometry* fGeom = fLoader->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
   TClonesArray* digits = fLoader->Digits();
 
   // if number of local maxima less then 2 - nothing to unfold
@@ -971,16 +971,16 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima()
     {
       
       AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digitsList[iDigit] );
-      fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
+      phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
       Float_t x,z;
-      fGeom->RelPosInModule(relid, x, z);
+      phosgeom->RelPosInModule(relid, x, z);
 
       for(Int_t iMax=0; iMax<nMax; iMax++)
        {
          AliPHOSDigit* digitMax = maxAt[iMax];
          Float_t eMax = maxAtEnergy[iMax]; 
-         fGeom->AbsToRelNumbering(digitMax->GetId(), relid) ;
-         fGeom->RelPosInModule(relid, xMax, zMax);
+         phosgeom->AbsToRelNumbering(digitMax->GetId(), relid) ;
+         phosgeom->RelPosInModule(relid, xMax, zMax);
          Float_t dx = xMax - x;
          Float_t dz = zMax - z;
          Float_t amp,gx,gy;
@@ -994,8 +994,8 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima()
   for(Int_t iMax=0; iMax<nMax; iMax++) 
     {
       AliPHOSDigit* digitMax = maxAt[iMax];
-      fGeom->AbsToRelNumbering(digitMax->GetId(), relid) ;
-      fGeom->RelPosInModule(relid, xMax, zMax);
+      phosgeom->AbsToRelNumbering(digitMax->GetId(), relid) ;
+      phosgeom->RelPosInModule(relid, xMax, zMax);
       Float_t eMax = maxAtEnergy[iMax];
 
       AliPHOSEvalRecPoint* newRP = new AliPHOSEvalRecPoint(IsCPV(),this);    
@@ -1006,9 +1006,9 @@ Int_t AliPHOSEvalRecPoint::UnfoldLocalMaxima()
        {     
          AliPHOSDigit* digit = (AliPHOSDigit*)fLoader->Digits()->At( digitsList[iDigit] );
          Float_t eDigit = energies[iDigit];
-         fGeom->AbsToRelNumbering(digit->GetId(), relid) ;
+         phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
          Float_t ix,iz;
-         fGeom->RelPosInModule(relid, ix, iz);
+         phosgeom->RelPosInModule(relid, ix, iz);
 
          if(AreNeighbours(digitMax,digit))
            {
index 407d102..bbeb14e 100644 (file)
@@ -547,24 +547,6 @@ AliPHOSPID * AliPHOSGetter::PID()
 }
 
 //____________________________________________________________________________ 
-AliPHOSGeometry * AliPHOSGetter::PHOSGeometry() const 
-{
-  // Returns PHOS geometry
-
-  AliPHOSGeometry * rv = 0 ; 
-  if (PHOS() )
-    rv =  PHOS()->GetGeometry() ;
-  else {
-    rv = AliPHOSGeometry::GetInstance();
-    if (!rv) {
-      AliError("Could not find PHOS geometry! Loading the default one !");
-      rv = AliPHOSGeometry::GetInstance("IHEP","");
-    }
-  }
-  return rv ; 
-} 
-
-//____________________________________________________________________________ 
 TClonesArray * AliPHOSGetter::Primaries()  
 {
   // creates the Primaries container if needed
@@ -764,11 +746,12 @@ Int_t AliPHOSGetter::ReadRaw(AliRawReader *rawReader,Bool_t isOldRCUFormat)
   Float_t eMax=-333;
   //!!!for debug!!!
 
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
   Int_t relId[4];
   for(Int_t iDigit=0; iDigit<digits->GetEntries(); iDigit++) {
     AliPHOSDigit* digit = (AliPHOSDigit*)digits->At(iDigit);
     if(digit->GetEnergy()>eMax) {
-      PHOSGeometry()->AbsToRelNumbering(digit->GetId(),relId);
+      phosgeom->AbsToRelNumbering(digit->GetId(),relId);
       eMax=digit->GetEnergy();
       modMax=relId[0];
       rowMax=relId[2];
index d38934b..2d9c231 100644 (file)
@@ -39,7 +39,6 @@ class TF1 ;
 #include "AliPHOSCalibData.h"
 
 class AliPHOS ;  
-class AliPHOSGeometry ;
 class AliPHOSClusterizer ;
 class AliPHOSTrackSegmentMaker ;  
 class AliPHOSPID ; 
@@ -81,9 +80,8 @@ public:
   virtual UShort_t EventPattern(void) const ; 
   virtual Float_t  BeamEnergy(void) const ;
   
-  //========== PHOSGeometry and PHOS ============= 
+  //========== PHOS ============= 
   virtual AliPHOS *         PHOS() const  ;  
-  virtual AliPHOSGeometry * PHOSGeometry() const ; 
   
   //========== Methods to read something from file ==========
   virtual void   Event(Int_t event, const char * opt = "HSDRTP") ;    
index dce0b2f..1cb8e62 100644 (file)
@@ -20,7 +20,6 @@ class TObjArray ;
  
 // --- AliRoot header files ---
 #include "AliPHOSGetter.h" 
-#include "AliPHOSGeometry.h"
 class AliPHOSClusterizer ;
 class AliPHOSTrackSegmentMaker ;
 class AliPHOSPID ;
@@ -53,9 +52,8 @@ public:
   virtual UShort_t EventPattern(void) const {return 0;}  //not needed in on-flight reconstruction
   virtual Float_t  BeamEnergy(void) const {return 10.;} //not needed in on-flight reconstruction
   
-  //========== PHOSGeometry and PHOS ============= 
+  //========== PHOS ============= 
   //Dummy function not necessary for on-flight reconstruction, but has to be overloaded
-  virtual AliPHOSGeometry * PHOSGeometry() const {return AliPHOSGeometry::GetInstance("IHEP","IHEP") ; } //Create if necessary geom
   
   //========== Methods to read something from file ==========
   virtual void   Event(Int_t /*event*/, const char * /*opt = "HSDRTP"*/){} //Use data already in memory    
index b01381e..2f3533c 100644 (file)
@@ -113,7 +113,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
      return ;
    }
 
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   AliInfo(Form("Start CPV Analysis-1. Resolutions, cluster multiplicity and lengths")) ;
   for ( Int_t ievent=0; ievent<Nevents; ievent++) {  
@@ -141,7 +141,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
  
     // Create and fill arrays of hits for each CPV module
       
-    Int_t nOfModules = fGeom->GetNModules();
+    Int_t nOfModules = phosgeom->GetNModules();
     TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
     Int_t iModule = 0;         
     for (iModule=0; iModule < nOfModules; iModule++)
@@ -215,14 +215,12 @@ void AliPHOSIhepAnalyze::AnalyzeCPV1(Int_t Nevents)
        ygen   = impact->Y();
        
        //Transform to the local ref.frame
-       const AliPHOSGeometry* geom = please->PHOSGeometry();
-       Float_t phig = geom->GetPHOSAngle(phosModule);
+       Float_t phig = phosgeom->GetPHOSAngle(phosModule);
        Float_t phi = TMath::Pi()/180*phig;
-       Float_t distanceIPtoCPV = geom->GetIPtoOuterCoverDistance() -
-                         (geom->GetFTPosition(1)+
-                          geom->GetFTPosition(2)+
-                          geom->GetCPVTextoliteThickness()
-                         )/2;
+       Float_t distanceIPtoCPV = phosgeom->GetIPtoOuterCoverDistance() -
+         (phosgeom->GetFTPosition(1)+
+          phosgeom->GetFTPosition(2)+
+          phosgeom->GetCPVTextoliteThickness())/2;
        Float_t xoL,yoL,zoL ;
 //     xoL = xgen*TMath::Cos(phig)+ygen*TMath::Sin(phig) ;
 //     yoL = -xgen*TMath::Sin(phig)+ygen*TMath::Cos(phig) + distanceIPtoCPV;
@@ -347,7 +345,7 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
      return ;
    }
 
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
   AliInfo(Form("Start EMC Analysis-1. Resolutions, cluster multiplicity and lengths"));
   for ( Int_t ievent=0; ievent<Nevents; ievent++) {  
@@ -374,7 +372,7 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
  
     // Create and fill arrays of hits for each EMC module
       
-    Int_t nOfModules = fGeom->GetNModules();
+    Int_t nOfModules = phosgeom->GetNModules();
     TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
     Int_t iModule = 0;         
     for (iModule=0; iModule < nOfModules; iModule++)
@@ -446,10 +444,9 @@ void AliPHOSIhepAnalyze::AnalyzeEMC1(Int_t Nevents)
       
        
        //Transform to the local ref.frame
-       const AliPHOSGeometry* geom = please->PHOSGeometry();
-       Float_t phig = geom->GetPHOSAngle(phosModule);
+       Float_t phig = phosgeom->GetPHOSAngle(phosModule);
        Float_t phi = TMath::Pi()/180*phig;
-       Float_t distanceIPtoEMC = geom->GetIPtoCrystalSurface();
+       Float_t distanceIPtoEMC = phosgeom->GetIPtoCrystalSurface();
        Float_t xoL,yoL,zoL ;
 //     xoL = xgen*TMath::Cos(phig)+ygen*TMath::Sin(phig) ;
 //     yoL = -xgen*TMath::Sin(phig)+ygen*TMath::Cos(phig) + distanceIPtoEMC;
@@ -565,7 +562,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
      AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
   fRunLoader->LoadHeader();
 
   for (Int_t nev=0; nev<Nevents; nev++) 
@@ -588,7 +585,7 @@ void AliPHOSIhepAnalyze::AnalyzeCPV2(Int_t Nevents)
       if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) )  return;
       
       // Create and fill arrays of hits for each CPV module
-      Int_t nOfModules = fGeom->GetNModules();
+      Int_t nOfModules = phosgeom->GetNModules();
       TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
       Int_t iModule = 0;       
       for (iModule=0; iModule < nOfModules; iModule++)
@@ -794,7 +791,7 @@ void AliPHOSIhepAnalyze::HitsCPV(Int_t nev)
      AliError(Form("Could not obtain the Loader object !"));
      return ;
    }
-  const AliPHOSGeometry *  fGeom  = please->PHOSGeometry();
+  AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
      
   printf("\n=================== Event %10d ===================\n",nev);
@@ -815,7 +812,7 @@ void AliPHOSIhepAnalyze::HitsCPV(Int_t nev)
   if (! (branchCPVimpacts =treeH->GetBranch("PHOSCpvImpacts")) )  return;
       
   // Create and fill arrays of hits for each CPV module
-  Int_t nOfModules = fGeom->GetNModules();
+  Int_t nOfModules = phosgeom->GetNModules();
   TClonesArray **hitsPerModule = new TClonesArray *[nOfModules];
   Int_t iModule = 0;   
   for (iModule=0; iModule < nOfModules; iModule++)
index 5e63c93..b0b330d 100644 (file)
@@ -209,17 +209,6 @@ const AliPHOS * AliPHOSLoader::PHOS()
 }  
 
 //____________________________________________________________________________ 
-const AliPHOSGeometry * AliPHOSLoader::PHOSGeometry() 
-{
-  // Return PHOS geometry
-  AliPHOSGeometry * rv = 0 ; 
-  if (PHOS() )
-    rv =  PHOS()->GetGeometry();
-  return rv ; 
-} 
-
-
-//____________________________________________________________________________ 
 Int_t AliPHOSLoader::LoadHits(Option_t* opt)
 {  
 //------- Hits ----------------------
@@ -708,17 +697,6 @@ Int_t AliPHOSLoader::ReadRecParticles()
 }
 
 
-AliPHOSGeometry* AliPHOSLoader::GetPHOSGeometry()
-{
-  //returns PHOS geometry from gAlice 
-  //static Method used by some classes where it is not convienient to pass eventfoldername
-  if (gAlice == 0x0)
-    return 0x0;
-  AliPHOS* phos=dynamic_cast<AliPHOS*>(gAlice->GetDetector("PHOS"));
-  if (phos == 0x0)
-    return 0x0;
-  return phos->GetGeometry();
-}
 /***************************************************************************************/
 
 AliPHOSLoader* AliPHOSLoader::GetPHOSLoader(const  char* eventfoldername)
index eac3afe..b834709 100644 (file)
@@ -47,7 +47,6 @@ class TTask ;
 #include "AliPHOSTrackSegmentMaker.h"
 #include "AliPHOSPID.h"
 class AliPHOS ; 
-class AliPHOSGeometry ;
 class AliPHOSHit ; 
 class AliPHOSDigit ; 
 class AliPHOSEmcRecPoint ; 
@@ -123,7 +122,6 @@ public:
   TObject** AlarmsRef(){return GetDetectorDataRef(Alarms());}
   void   Track(Int_t itrack) ;
 
-  static AliPHOSGeometry* GetPHOSGeometry();
   static AliPHOSLoader* GetPHOSLoader(const  char* eventfoldername);
 
   //Method to be used when digitizing under AliRunDigitizer, who opens all files etc.
@@ -131,7 +129,6 @@ public:
   Int_t  MaxEvent()          { return (Int_t) GetRunLoader()->TreeE()->GetEntries();}
 
   const AliPHOS *         PHOS();
-  const AliPHOSGeometry  *PHOSGeometry() ; 
   // Alarms
   // TFolder * Alarms() const { return (TFolder*)(ReturnO("Alarms", 0)); }
   TObjArray *  Alarms() {return 0x0;}  
index cd93d5c..a95f8f7 100644 (file)
@@ -625,16 +625,17 @@ void  AliPHOSOnlineMonitor::Go(){
   AliPHOSClusterizerv1* clu = 0 ;
   AliPHOSTrackSegmentMakerv1 * tsm = 0 ;
   AliPHOSPIDv1 * pid = 0 ;
+  AliPHOSGeometry * phosgeom = AliPHOSGeometry::GetInstance() ;
   if(fReconstruct){ //We will need calibation parameters
-    clu = new AliPHOSClusterizerv1(gime->PHOSGeometry()) ;
+    clu = new AliPHOSClusterizerv1(phosgeom) ;
     clu->SetWriting(0) ; //Do not write to file
 //    clu->SetEmcMinE(0.05) ;  //Minimal energy of the digit
     clu->SetEmcLocalMaxCut(0.05) ; //Height of local maximum over environment
     clu->SetEmcClusteringThreshold(0.2) ; //Minimal energy to start cluster
 //    clu->SetUnfolding(kFALSE) ; //Do not unfold
-    tsm = new AliPHOSTrackSegmentMakerv1(gime->PHOSGeometry());
+    tsm = new AliPHOSTrackSegmentMakerv1(phosgeom);
     tsm->SetWriting(0) ; //Do not write to file
-    pid = new AliPHOSPIDv1(gime->PHOSGeometry()) ;
+    pid = new AliPHOSPIDv1(phosgeom) ;
     pid->SetWriting(0) ; //Do not write to file    
   }
   
index 33908c5..f393c18 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "AliPHOSRecCpvManager.h"
 #include "AliPHOSGeometry.h" 
-#include "AliPHOSLoader.h"
 
 ClassImp(AliPHOSRecCpvManager) 
 
@@ -113,7 +112,7 @@ void AliPHOSRecCpvManager::AG(Float_t ei, Float_t xi, Float_t yi, Float_t& ai, F
   //xi and yi are the distances along x and y from reference point 
   // to the pad center.
 
-  AliPHOSGeometry * geom = AliPHOSLoader::GetPHOSGeometry();
+  AliPHOSGeometry * geom =  AliPHOSGeometry::GetInstance() ;
 
   Float_t celZ = geom->GetPadSizeZ();
   Float_t celY = geom->GetPadSizePhi();
index 0bf30b9..15a83dc 100644 (file)
@@ -114,8 +114,12 @@ const TParticle * AliPHOSRecParticle::GetPrimary() const
     return GetPrimary(0) ;
   Int_t AbsId = 0;
   Int_t module ;
-  const AliPHOSGeometry * geom = gime->PHOSGeometry() ;
-   Double_t x,z ;
+
+  // Get PHOS Geometry object
+  AliPHOSGeometry *geom;
+  if (!(geom = AliPHOSGeometry::GetInstance())) 
+        geom = AliPHOSGeometry::GetInstance("IHEP","");
+  Double_t x,z ;
 //DP to be fixed: Why do we use this method here??? M.B. use RecPoint???
   Double_t vtx[3]={0.,0.,0.} ;
   geom->ImpactOnEmc(vtx,static_cast<double>(Theta()),static_cast<double>(Phi()), module,z,x);
index ddd2e14..7040638 100644 (file)
@@ -18,7 +18,7 @@
 //  Why should I put meaningless comments
 //  just to satisfy
 //  the code checker                
-//*-- Author: Gines Martinez (SUBATECH)
+//-- Author: Gines Martinez (SUBATECH)
 
 // --- ROOT system ---
 #include "TPad.h"
@@ -166,7 +166,7 @@ void AliPHOSRecPoint::ExecuteEvent(Int_t event, Int_t, Int_t)
   case kButton1Down:{
     AliPHOSDigit * digit ;
   
-    AliPHOSGeometry * phosgeom = AliPHOSLoader::GetPHOSGeometry();
+    AliPHOSGeometry * phosgeom =  AliPHOSGeometry::GetInstance() ;
 
     Int_t iDigit;
     Int_t relid[4] ;
index e9f8cf6..d86e4b8 100644 (file)
  *
  * Revision 1.51  2007/08/07 14:12:03  kharlov
  * Quality assurance added (Yves Schutz)
- *
- * Revision 1.50  2006/08/28 10:01:56  kharlov
- * Effective C++ warnings fixed (Timur Pocheptsov)
- *
- * Revision 1.49  2006/05/10 06:42:53  kharlov
- * Remove redundant loop over primaries
- *
- * Revision 1.48  2006/04/22 10:30:17  hristov
- * Add fEnergy to AliPHOSDigit and operate with EMC amplitude in energy units (Yu.Kharlov)
- *
- * Revision 1.47  2005/05/28 14:19:04  schutz
- * Compilation warnings fixed by T.P.
- *
  */
 
 //_________________________________________________________________________
@@ -81,7 +68,7 @@
 //             deb all  - print # and list of produced SDigits
 //             tim - print benchmarking information
 //
-//*-- Author :  Dmitri Peressounko (SUBATECH & KI) 
+//-- Author :  Dmitri Peressounko (SUBATECH & KI) 
 //////////////////////////////////////////////////////////////////////////////
 
 
@@ -162,12 +149,9 @@ AliPHOSSDigitizer& AliPHOSSDigitizer::operator = (const AliPHOSSDigitizer& qa)
 //____________________________________________________________________________ 
 AliPHOSSDigitizer::~AliPHOSSDigitizer() {
   //dtor
-  //  AliPHOSGetter * gime =
-  //  AliPHOSGetter::Instance(GetTitle(),fEventFolderName.Data());  
   AliPHOSGetter * gime =
     AliPHOSGetter::Instance();  
   gime->PhosLoader()->CleanSDigitizer();
-//  delete fQADM ; 
 }
 
 //____________________________________________________________________________ 
@@ -192,8 +176,6 @@ void AliPHOSSDigitizer::Init()
   gime->PostSDigitizer(this);
   gime->PhosLoader()->GetSDigitsDataLoader()->GetBaseTaskLoader()->SetDoNotReload(kTRUE);
  
-//  fQADM = new AliPHOSQADataMaker() ;  
-
 }
 
 //____________________________________________________________________________ 
@@ -252,8 +234,6 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
   
   Int_t ievent, i;
 
-  //AliMemoryWatcher memwatcher;
-
   for (ievent = fFirstEvent; ievent <= fLastEvent; ievent++) {    
     gime->Event(ievent,"H") ;   
     TTree * treeS = gime->TreeS(); 
@@ -320,7 +300,6 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
     if(strstr(option,"deb"))
       PrintSDigits(option) ;
       
-    //memwatcher.Watch(ievent); 
   }// event loop
   
 //  //Write the quality assurance data 
@@ -338,9 +317,6 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
         gBenchmark->GetCpuTime("PHOSSDigitizer"), gBenchmark->GetCpuTime("PHOSSDigitizer")/nEvents) ;
   }
   
-  //TFile f("out.root","RECREATE");
-  //memwatcher.WriteToFile(); 
-  //f.Close();
 }
 
 //__________________________________________________________________
@@ -373,6 +349,12 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
 
 
   AliPHOSGetter * gime = AliPHOSGetter::Instance() ; 
+
+  // Get PHOS Geometry object
+  AliPHOSGeometry *geom;
+  if (!(geom = AliPHOSGeometry::GetInstance())) 
+        geom = AliPHOSGeometry::GetInstance("IHEP","");
+
   const TClonesArray * sdigits = gime->SDigits() ;
   
   Info( "\nPrintSDigits", "event # %d %d sdigits", gAlice->GetEvNumber(), sdigits->GetEntriesFast() ) ; 
@@ -382,7 +364,7 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
     //loop over digits
     AliPHOSDigit * digit;
     printf("\nEMC sdigits\n") ; 
-    Int_t maxEmc = gime->PHOSGeometry()->GetNModules()*gime->PHOSGeometry()->GetNCristalsInModule() ;
+    Int_t maxEmc = geom->GetNModules() * geom->GetNCristalsInModule() ;
     Int_t index ;
     for (index = 0 ; (index < sdigits->GetEntriesFast()) && 
         ((dynamic_cast<AliPHOSDigit *> (sdigits->At(index)))->GetId() <= maxEmc) ; index++) {
@@ -404,7 +386,7 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
     //loop over CPV digits
     AliPHOSDigit * digit;
     printf("\nCPV sdigits\n") ; 
-    Int_t maxEmc = gime->PHOSGeometry()->GetNModules()*gime->PHOSGeometry()->GetNCristalsInModule() ;
+    Int_t maxEmc = geom->GetNModules() * geom->GetNCristalsInModule() ;
     Int_t index ;
     for (index = 0 ; index < sdigits->GetEntriesFast(); index++) {
       digit = dynamic_cast<AliPHOSDigit *>( sdigits->At(index) ) ;
index 8548756..a389722 100644 (file)
@@ -667,8 +667,10 @@ void AliPHOSTrigger::DoIt(const char * fileName)
 
   AliPHOSGetter * gime = AliPHOSGetter::Instance( fileName ) ;
   
-  //Get Geometry
-  const AliPHOSGeometry * geom = AliPHOSGetter::Instance()->PHOSGeometry() ;
+  // Get PHOS Geometry object
+  AliPHOSGeometry *geom;
+  if (!(geom = AliPHOSGeometry::GetInstance())) 
+        geom = AliPHOSGeometry::GetInstance("IHEP","");
    
   //Define parameters
   Int_t nModules     = geom->GetNModules();