}
//_____________________________________________________________________________
-Bool_t AliMUONClusterStoreV2::Add(const AliMUONVCluster& vCluster)
+AliMUONVCluster* AliMUONClusterStoreV2::Add(const AliMUONVCluster& vCluster)
{
/// Add a cluster to this store
const AliMUONRawClusterV2* cluster = dynamic_cast<const AliMUONRawClusterV2*>(&vCluster);
if (!cluster) {
AliError(Form("Cluster is not of the expected type (%s vs AliMUONRawClusterV2)",
vCluster.ClassName()));
- return kFALSE;
+ return 0x0;
}
// check chamberId
}
// check that there is no cluster with the same Id
- if (FindObject(cluster->GetUniqueID())) {
- AliError("cluster store already contains a cluster with the same ID --> add() aborted");
- return kFALSE;
+ AliMUONVCluster *c = FindObject(cluster->GetUniqueID());
+ if (c) {
+ AliError("cluster store already contains a cluster with the same ID --> add() aborted:");
+ c->Print("FULL");
+ return 0x0;
}
// add new cluster
- AliMUONVCluster *c = new((*fClusters)[fClusters->GetLast()+1]) AliMUONRawClusterV2(*cluster);
+ c = new((*fClusters)[fClusters->GetLast()+1]) AliMUONRawClusterV2(*cluster);
if (c) UpdateMap(*c);
- return kTRUE;
+ return c;
}
//_____________________________________________________________________________