]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliRecPoint.cxx
Avoid cast from pointer to integer
[u/mrichter/AliRoot.git] / STEER / AliRecPoint.cxx
index 13cc66c2c2db1244b8cfdc6070c4d5cc83446923..a94551d9455dc2dacf9af915607781f6c0ae8020 100644 (file)
 
 /*
 $Log$
+Revision 1.8  2001/10/21 18:38:43  hristov
+Several pointers were set to zero in the default constructors to avoid memory management problems
+
+Revision 1.7  2000/11/30 07:12:49  alibrary
+Introducing new Rndm and QA classes
+
+Revision 1.6  2000/10/02 21:28:14  fca
+Removal of useless dependecies via forward declarations
+
+Revision 1.5  2000/07/11 18:24:59  fca
+Coding convention corrections + few minor bug fixes
+
 Revision 1.4  2000/05/16 08:30:02  fca
 Using automatic streamer for c arrays
 
@@ -33,34 +45,57 @@ Y.Schutz new classes for reconstruction
 
 //-*-C++-*-
 //_________________________________________________________________________
-// Base Class of Cluster (empty cxx needed by Root)
+// Base Class for reconstructed space points 
+// usually coming from the clusterisation algorithms
+// run on the digits
+//
 //*-- Author : Yves Schutz  SUBATECH 
 //////////////////////////////////////////////////////////////////////////////
 
-// --- ROOT system ---
 
-#include "TObjArray.h"
+// --- ROOT system ---
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
 
 #include "AliRecPoint.h"
+#include "AliGeometry.h"
+#include "AliDigitNew.h"
 
 ClassImp(AliRecPoint)
 
 
 //____________________________________________________________________________
 AliRecPoint::AliRecPoint()
+{
+  // default ctor  
+  fGeom = 0;
+  fAmp = 0.0 ; 
+  
+  fLocPos.SetXYZ(0., 0., 0.) ;
+  fLocPosM     = 0 ;
+  fMaxDigit    = 100 ; 
+  fMulDigit    = 0 ; 
+  fDigitsList  = 0 ; 
+  fMaxTrack    = 5 ; 
+  fMulTrack    = 0 ; 
+  fTracksList  = 0 ; 
+  fIndexInList = -1 ; // to be set when the point is already stored
+}
+
+//____________________________________________________________________________
+AliRecPoint::AliRecPoint(const char * opt)
 {
   // ctor  
+  fGeom = 0;
   fAmp = 0.0 ; 
   
   fLocPos.SetXYZ(0., 0., 0.) ;
   fLocPosM     = new TMatrix(3,3) ;
   fMaxDigit    = 100 ; 
   fMulDigit    = 0 ; 
-  fDigitsList  = new int[fMaxDigit]; 
+  fDigitsList  = new int[fMaxDigit]; 
   fMaxTrack    = 5 ; 
   fMulTrack    = 0 ; 
   fTracksList  = new int[fMaxTrack]; ; 
@@ -82,10 +117,8 @@ AliRecPoint::~AliRecPoint()
   // dtor
   
   delete fLocPosM ; 
-  if ( fDigitsList )    
-    delete fDigitsList ; 
-  if ( fTracksList )    
-    delete fTracksList ;  
+  delete [] fDigitsList ; 
+  delete [] fTracksList ;  
   
 }
   
@@ -169,7 +202,7 @@ void AliRecPoint::GetCovarianceMatrix(TMatrix & mat)
 }
 
 //____________________________________________________________________________
-void AliRecPoint::GetLocalPosition(TVector3 & pos)
+void AliRecPoint::GetLocalPosition(TVector3 & pos) const
 {
   // returns the position of the cluster in the local reference system of the sub-detector
 
@@ -187,7 +220,7 @@ AliRecPoint & AliRecPoint::operator= (const AliRecPoint &recp)
 
 
 //____________________________________________________________________________
-void AliRecPoint::GetGlobalPosition(TVector3 & gpos, TMatrix & gmat)
+void AliRecPoint::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