* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.9 2001/12/05 14:36:47 hristov
-The default constructor now creates no objects; destructor corrected (thanks to R.Brun).
-
-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
-
-Revision 1.3 2000/03/20 14:22:25 fca
-New version to support new PHOS code
-
-Revision 1.2 2000/02/15 09:43:54 fca
-Corrections
-- a bug in the streamer (wrong size of the arrays)
-- replace Read/WriteArray by Read/WriteFastArray (suggestion R.Brun)
-
-Revision 1.1 1999/12/17 09:01:14 fca
-Y.Schutz new classes for reconstruction
-
-*/
+/* $Id$ */
//-*-C++-*-
//_________________________________________________________________________
fGeom(0),
fIndexInList(-1), // to be set when the point is already stored
fLocPos(0,0,0),
- fLocPosM(new TMatrix(3,3)),
+ fLocPosM(new TMatrixF(3,3)),
fMaxDigit(100),
fMulDigit(0),
fMaxTrack(5),
if ( fMulDigit >= fMaxDigit ) { // increase the size of the list
- int * tempo = new ( int[fMaxDigit*=2] ) ;
+ int * tempo = new int[fMaxDigit*2];
Int_t index ;
for ( index = 0 ; index < fMulDigit ; index++ )
tempo[index] = fDigitsList[index] ;
- delete fDigitsList ;
+ delete [] fDigitsList ;
fDigitsList = tempo ;
}
// }
//_______________________________________________________________________
-void AliRecPoint::Copy(AliRecPoint& recp) const
+void AliRecPoint::Copy(TObject& recp) const
{
//
// Copy *this onto pts
//
// Copy all first
- if(this != &recp) {
- ((TObject*) this)->Copy(dynamic_cast<TObject&>(recp));
- recp.fAmp = fAmp;
- recp.fGeom = fGeom;
- recp.fIndexInList = fIndexInList;
- recp.fLocPos = fLocPos;
- recp.fLocPosM = new TMatrix(*fLocPosM);
- recp.fMaxDigit = fMaxDigit;
- recp.fMulDigit = fMulDigit;
- recp.fMaxTrack = fMaxTrack;
- recp.fMulTrack = fMulTrack;
+ if((TObject*)this != &recp) {
+ ((TObject*) this)->Copy(recp);
+ (dynamic_cast<AliRecPoint&>(recp)).fAmp = fAmp;
+ (dynamic_cast<AliRecPoint&>(recp)).fGeom = fGeom;
+ (dynamic_cast<AliRecPoint&>(recp)).fIndexInList = fIndexInList;
+ (dynamic_cast<AliRecPoint&>(recp)).fLocPos = fLocPos;
+ (dynamic_cast<AliRecPoint&>(recp)).fLocPosM = new TMatrixF(*fLocPosM);
+ (dynamic_cast<AliRecPoint&>(recp)).fMaxDigit = fMaxDigit;
+ (dynamic_cast<AliRecPoint&>(recp)).fMulDigit = fMulDigit;
+ (dynamic_cast<AliRecPoint&>(recp)).fMaxTrack = fMaxTrack;
+ (dynamic_cast<AliRecPoint&>(recp)).fMulTrack = fMulTrack;
// Duplicate pointed objects
- recp.fDigitsList = new Int_t[fMulDigit];
- memcpy(recp.fDigitsList,fDigitsList,fMulDigit*sizeof(Int_t));
- recp.fTracksList = new Int_t[fMulTrack];
- memcpy(recp.fTracksList,fTracksList,fMulTrack*sizeof(Int_t));
+ (dynamic_cast<AliRecPoint&>(recp)).fDigitsList = new Int_t[fMulDigit];
+ memcpy((dynamic_cast<AliRecPoint&>(recp)).fDigitsList,fDigitsList,fMulDigit*sizeof(Int_t));
+ (dynamic_cast<AliRecPoint&>(recp)).fTracksList = new Int_t[fMulTrack];
+ memcpy((dynamic_cast<AliRecPoint&>(recp)).fTracksList,fTracksList,fMulTrack*sizeof(Int_t));
}
}
//_______________________________________________________________________
-void AliRecPoint::GetCovarianceMatrix(TMatrix & mat) const
+void AliRecPoint::GetCovarianceMatrix(TMatrixF & mat) const
{
// returns the covariant matrix for the local position
}
//____________________________________________________________________________
-void AliRecPoint::GetGlobalPosition(TVector3 & gpos, TMatrix & gmat) const
+void AliRecPoint::GetGlobalPosition(TVector3 & gpos, TMatrixF & gmat) const
{
// returns the position of the cluster in the global reference system of ALICE
// and the uncertainty on this position