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