+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Author: The ALICE Off-line Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+/* $Id$ */
+
// --
// --
// Implementation for TTree output in PHOS DA
AliPHOSDATreeCluster& AliPHOSDATreeCluster::operator=(const AliPHOSDATreeCluster& cluster){
// Copy Operator
- if( fNDigits> 0 ) delete[] fDigits;
- fEnergy = cluster.fEnergy;
- fNDigits = cluster.fNDigits;
- fRow = cluster.fRow;
- fCol = cluster.fCol;
- //fX = cluster.fX;
- //fY = cluster.fY;
- //fZ = cluster.fZ;
- if( fNDigits > 0 ){
- fDigits = new AliPHOSDATreeDigit[fNDigits];
- int ndigits = fNDigits;
- while( ndigits-- ){
- fDigits[ndigits] = cluster.fDigits[ndigits];
+ if (this != &cluster) {
+ if( fNDigits> 0 ) delete[] fDigits;
+ fEnergy = cluster.fEnergy;
+ fNDigits = cluster.fNDigits;
+ fRow = cluster.fRow;
+ fCol = cluster.fCol;
+ //fX = cluster.fX;
+ //fY = cluster.fY;
+ //fZ = cluster.fZ;
+ if( fNDigits > 0 ){
+ fDigits = new AliPHOSDATreeDigit[fNDigits];
+ int ndigits = fNDigits;
+ while( ndigits-- ){
+ fDigits[ndigits] = cluster.fDigits[ndigits];
+ }
+ } else {
+ fDigits = 0;
}
- } else {
- fDigits = 0;
}
return *this;
}
//------------------------------------------------------------------------
-void AliPHOSDATreeCluster::Print(char* opt){
+void AliPHOSDATreeCluster::Print(Option_t *opt) const
+{
// Print out
std::cout<<" AliPHOSDATreeCluster:: Energy="<<fEnergy<<" NDigits="<<fNDigits
<<" (row,col)=("<<fRow<<","<<fCol<<")"<<std::endl;
newfDigits[ndigitsall]= cluster.fDigits[--ndigits2];
} else {
std::cout<<" AliPHOSDATreeCluster::Append() Something wrong.. "<<std::endl;
+ delete [] newfDigits;
return false;
}
}