AliMUONCluster::~AliMUONCluster()
{
/// dtor : note that we're owner of our pads
+// fPads.Delete();
}
//_____________________________________________________________________________
{
/// Clear our pad array
fPads.Clear();
+// fPads.Delete();
}
//_____________________________________________________________________________
(upperRight-lowerLeft).X()/2, (upperRight-lowerLeft).Y()/2);
}
+//_____________________________________________________________________________
+Bool_t
+AliMUONCluster::IsMonoCathode() const
+{
+ /// Whether we have signals only in one of the two cathodes
+ return (Cathode()<2);
+}
+
//_____________________________________________________________________________
Int_t
AliMUONCluster::Cathode() const
///
TObject::Copy(obj);
AliMUONCluster& dest = static_cast<AliMUONCluster&>(obj);
- dest.fPads.Delete();
- dest.fPads = fPads;
+
+// dest.fPads.Delete();
+ dest.fPads.Clear();
+
+ for ( Int_t i = 0; i <= fPads.GetLast(); ++i )
+ {
+ AliMUONPad* p = static_cast<AliMUONPad*>(fPads.UncheckedAt(i));
+ dest.fPads.AddLast(new AliMUONPad(*p));
+ }
dest.fHasPosition = fHasPosition;
dest.fPosition = fPosition;
dest.fPositionError = fPositionError;
// cout << " " << Area() << endl;
for (Int_t i = 0; i < fPads.GetSize(); ++i)
{
- cout << Form("fPads[%d]=%x",i,fPads.At(i)) << endl;
+ cout << Form("fPads[%d]=%p",i,fPads.At(i)) << endl;
if ( fPads.At(i) ) fPads.At(i)->Print();
}
}
fPads.Remove(pad);
fPads.Compress();
+ delete pad;
// update cluster's data
fIsSaturated[0]=fIsSaturated[1]=kFALSE;
fMultiplicity[0]=fMultiplicity[1]=0;