]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRecPoint.cxx
Moving to the new VMC naming convention
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRecPoint.cxx
index be3435e01f03381b12b09d2a09e6a612df1f4777..2457ab6d98b21f39f1ecd017a0a2a428ecb69e61 100644 (file)
@@ -25,8 +25,6 @@
 #include "TClonesArray.h"
 
 // --- Standard library ---
-#include <iostream.h>
-#include <stdio.h>
 
 // --- AliRoot header files ---
 
@@ -44,11 +42,21 @@ AliPHOSRecPoint::AliPHOSRecPoint()
 {
   // ctor
 
-  fMaxTrack = 200 ;
-  fPHOSMod = 0;
+  fMaxTrack = 0 ;
+  fPHOSMod  = 0 ;
 
 }
 
+//____________________________________________________________________________
+AliPHOSRecPoint::AliPHOSRecPoint(const char * opt) : AliRecPoint(opt)
+{
+  // ctor
+  
+  fMaxTrack = 200 ;
+  fPHOSMod  = 0;
+  
+}
+
 //____________________________________________________________________________
 Int_t AliPHOSRecPoint::DistancetoPrimitive(Int_t px, Int_t py)
 {
@@ -98,8 +106,13 @@ void AliPHOSRecPoint::ExecuteEvent(Int_t event, Int_t px, Int_t py)
     
   case kButton1Down:{
     AliPHOSDigit * digit ;
-    AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
-    AliPHOSGeometry * phosgeom =  const_cast<AliPHOSGeometry*>(gime->PHOSGeometry());
+  
+//  Accessing geometry this way is equivalent to getting from gAlice
+// to have Detector in Folder one have to load gAlice anyway
+//    AliPHOSLoader * gime = AliPHOSLoader::GetInstance();
+//    AliPHOSGeometry * phosgeom =  const_cast<AliPHOSGeometry*>(gime->PHOSGeometry());
+
+    AliPHOSGeometry * phosgeom = AliPHOSLoader::GetPHOSGeometry();
 
     Int_t iDigit;
     Int_t relid[4] ;
@@ -109,8 +122,7 @@ void AliPHOSRecPoint::ExecuteEvent(Int_t event, Int_t px, Int_t py)
     Float_t * zi = new Float_t [kMulDigit] ;
     
     for(iDigit = 0; iDigit < kMulDigit; iDigit++) {
-      cout << " AliPHOSRecPoint::ExecuteEvent -> Something wromg with the code" << endl ; 
-      abort() ; 
+      Fatal("AliPHOSRecPoint::ExecuteEvent", "-> Something wrong with the code"); 
       digit = 0 ; //dynamic_cast<AliPHOSDigit *>((fDigitsList)[iDigit]);
       phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
       phosgeom->RelPosInModule(relid, xi[iDigit], zi[iDigit]) ;
@@ -159,11 +171,13 @@ break;
   }
 }
 //____________________________________________________________________________
-void AliPHOSRecPoint::EvalAll(Float_t logWeight,TClonesArray * digits) {
+void AliPHOSRecPoint::EvalAll(Float_t logWeight,TClonesArray * digits) 
+{
   //evaluates (if necessary) all RecPoint data members 
 
   EvalPrimaries(digits) ;
 }
+
 //____________________________________________________________________________
 void AliPHOSRecPoint::EvalPHOSMod(AliPHOSDigit * digit) 
 {
@@ -171,9 +185,8 @@ void AliPHOSRecPoint::EvalPHOSMod(AliPHOSDigit * digit)
 
   if( fPHOSMod == 0){
   Int_t relid[4] ; 
-  
-  AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
-  AliPHOSGeometry * phosgeom =  const_cast<AliPHOSGeometry*>(gime->PHOSGeometry());
+  AliPHOSGeometry * phosgeom = (AliPHOSGetter::Instance())->PHOSGeometry();
 
   phosgeom->AbsToRelNumbering(digit->GetId(), relid) ;
   fPHOSMod = relid[0];
@@ -192,52 +205,51 @@ void  AliPHOSRecPoint::EvalPrimaries(TClonesArray * digits)
   for ( index = 0 ; index < GetDigitsMultiplicity() ; index++ ) { // all digits
     digit = dynamic_cast<AliPHOSDigit *>(digits->At( fDigitsList[index] )) ; 
     Int_t nprimaries = digit->GetNprimary() ;
-    Int_t * newprimaryarray = new Int_t[nprimaries] ;
-    Int_t ii ; 
-    for ( ii = 0 ; ii < nprimaries ; ii++)
-      newprimaryarray[ii] = digit->GetPrimary(ii+1) ; 
+    if(nprimaries){
+      Int_t * newprimaryarray = new Int_t[nprimaries] ;
+      Int_t ii ; 
+      for ( ii = 0 ; ii < nprimaries ; ii++)
+       newprimaryarray[ii] = digit->GetPrimary(ii+1) ; 
 
-    Int_t jndex ;
-    for ( jndex = 0 ; jndex < nprimaries ; jndex++ ) { // all primaries in digit
-      if ( fMulTrack > fMaxTrack ) {
-       fMulTrack = - 1 ;
-       cout << "AliPHOSRecPoint::GetNprimaries ERROR > increase fMaxTrack " << endl ;
-       break ;
-      }
-      Int_t newprimary = newprimaryarray[jndex] ;
-      Int_t kndex ;
-      Bool_t already = kFALSE ;
-      for ( kndex = 0 ; kndex < fMulTrack ; kndex++ ) { //check if not already stored
-       if ( newprimary == tempo[kndex] ){
-         already = kTRUE ;
+      Int_t jndex ;
+      for ( jndex = 0 ; jndex < nprimaries ; jndex++ ) { // all primaries in digit
+       if ( fMulTrack > fMaxTrack ) {
+         fMulTrack = - 1 ;
+         Error("EvalPrimaries", "GetNprimaries ERROR > increase fMaxTrack" ) ;
          break ;
        }
-      } // end of check
-      if ( !already) { // store it
-       tempo[fMulTrack] = newprimary ; 
-       fMulTrack++ ;
-      } // store it
-    } // all primaries in digit
-    delete newprimaryarray ; 
+       Int_t newprimary = newprimaryarray[jndex] ;
+       Int_t kndex ;
+       Bool_t already = kFALSE ;
+       for ( kndex = 0 ; kndex < fMulTrack ; kndex++ ) { //check if not already stored
+         if ( newprimary == tempo[kndex] ){
+           already = kTRUE ;
+           break ;
+         }
+       } // end of check
+       if ( !already) { // store it
+         tempo[fMulTrack] = newprimary ; 
+         fMulTrack++ ;
+       } // store it
+      } // all primaries in digit
+      delete [] newprimaryarray ; 
+    }
   } // all digits
 
-  
-  fTracksList = new Int_t[fMulTrack] ;
+  if(fMulTrack)
+    fTracksList = new Int_t[fMulTrack] ;
   for(index = 0; index < fMulTrack; index++)
-   fTracksList[index] = tempo[index] ;
-  delete tempo ;
-
+    fTracksList[index] = tempo[index] ;
+  
+  delete [] tempo ;
+  
 }
 //____________________________________________________________________________
 void AliPHOSRecPoint::GetGlobalPosition(TVector3 & gpos, TMatrix & gmat) const
 {
   // returns the position of the cluster in the global reference system of ALICE
   // and the uncertainty on this position
-  
-  
-  AliPHOSGetter::GetInstance()->PHOSGeometry()->GetGlobal(this, gpos, gmat) ;
+  (AliPHOSGetter::Instance())->PHOSGeometry()->GetGlobal(this, gpos, gmat);
 }
 
 
@@ -262,3 +274,5 @@ void AliPHOSRecPoint::Paint(Option_t *)
   gPad->SetAttMarkerPS(markercolor,markerstyle,markersize) ;
   gPad->PaintPolyMarker(1,&x,&y,"") ;
 }
+//______________________________________________________________________________
+