]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRecPoint.cxx
Corrected bug in MakeBranch (was using a different version of STEER)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRecPoint.cxx
index b6e96bbe2f9630ed0c975174f3c25ef16d2cf623..e2a9ccf8219df5e61e3ed36a2288c5928e0c3ab7 100644 (file)
  * about the suitability of this software for any purpose. It is          *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
-
 /* $Id$ */
-
 //_________________________________________________________________________
 //  Base Class for PHOS Reconstructed Points  
-//                  
+//  Why should I put meaningless comments
+//  just to satisfy
+//  the code checker                
 //*-- Author: Gines Martinez (SUBATECH)
 
 // --- ROOT system ---
 #include "TPad.h"
 
 // --- Standard library ---
-#include <iostream>
-#include <cstdio>
+#include <iostream.h>
+#include <stdio.h>
 
 // --- AliRoot header files ---
 
 #include "AliPHOSGeometry.h"
 #include "AliPHOSDigit.h"
 #include "AliPHOSRecPoint.h"
-
-
+#include "AliPHOSIndexToObject.h"
 
 ClassImp(AliPHOSRecPoint)
 
@@ -44,7 +43,7 @@ AliPHOSRecPoint::AliPHOSRecPoint()
 {
   // ctor
 
-  fGeom =   AliPHOSGeometry::GetInstance() ;
+  fGeom = (AliPHOSGeometry*) AliPHOSGeometry::GetInstance() ;
   fPHOSMod = 0;
 }
 
@@ -101,11 +100,11 @@ void AliPHOSRecPoint::ExecuteEvent(Int_t event, Int_t px, Int_t py)
     Int_t iDigit;
     Int_t relid[4] ;
   
-    const Int_t fMulDigit=AliPHOSRecPoint::GetDigitsMultiplicity() ;
-    Float_t * xi = new Float_t [fMulDigit] ; 
-    Float_t * zi = new Float_t [fMulDigit] ;
+    const Int_t kMulDigit=AliPHOSRecPoint::GetDigitsMultiplicity() ;
+    Float_t * xi = new Float_t [kMulDigit] ; 
+    Float_t * zi = new Float_t [kMulDigit] ;
     
-    for(iDigit=0; iDigit<fMulDigit; iDigit++) {
+    for(iDigit = 0; iDigit < kMulDigit; iDigit++) {
       digit = (AliPHOSDigit *) fDigitsList[iDigit];
       phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
       phosgeom->RelPosInModule(relid, xi[iDigit], zi[iDigit]) ;
@@ -153,39 +152,43 @@ break;
     
   }
 }
+//____________________________________________________________________________
+void AliPHOSRecPoint::EvalAll() {
+  //evaluates (if necessary) all RecPoint data members 
 
+  EvalPHOSMod() ;
+}
 //____________________________________________________________________________
-Int_t AliPHOSRecPoint::GetPHOSMod()
+void AliPHOSRecPoint::EvalPHOSMod() 
 {
   // Returns the PHOS module in which the RecPoint is found
  
-  if(fPHOSMod > 0) 
-    return fPHOSMod ;
+  AliPHOSIndexToObject * please =  AliPHOSIndexToObject::GetInstance() ; 
 
-  Int_t relid[4] ;
+  Int_t relid[4] ; 
   
   AliPHOSDigit * digit   ;
-  digit = (AliPHOSDigit *) fDigitsList[0] ;
+  digit = (AliPHOSDigit *) ( please->GimeDigit(fDigitsList[0]) ) ;
   AliPHOSGeometry * phosgeom =  (AliPHOSGeometry *) fGeom ;
 
   phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
   fPHOSMod = relid[0];
-  return fPHOSMod ;
 }
 
 //______________________________________________________________________________
-Int_t * AliPHOSRecPoint::GetPrimaries(Int_t & number)
+Int_t * AliPHOSRecPoint::GetPrimaries(Int_t & number) const
 {
   // Constructs the list of primary particles which have contributed to this RecPoint
   
   AliPHOSDigit * digit ;
   Int_t index ;
-  Int_t maxcounter = 10 ;
+  Int_t maxcounter = 20 ;
   Int_t counter    = 0 ;
   Int_t * tempo    = new Int_t[maxcounter] ;
+  AliPHOSIndexToObject * please = AliPHOSIndexToObject::GetInstance() ;
   
   for ( index = 0 ; index < GetDigitsMultiplicity() ; index++ ) { // all digits
-    digit = (AliPHOSDigit *) fDigitsList[index] ; 
+    digit = please->GimeDigit( fDigitsList[index] ) ; 
     Int_t nprimaries = digit->GetNprimary() ;
     Int_t * newprimaryarray = new Int_t[nprimaries] ;
     Int_t ii ;