//_____________________________________________________________________________
Bool_t
AliMUONClusterFinderCOG::Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area)
{
/// Prepare for clustering
using AliMUONVClusterFinder::Prepare;
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area);
virtual AliMUONCluster* NextCluster();
//_____________________________________________________________________________
Bool_t
AliMUONClusterFinderMLEM::Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2])
{
//
class TH2D;
-class TClonesArray;
class TMinuit;
#ifndef ROOT_TObjArray
using AliMUONVClusterFinder::Prepare;
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* segmentations[2]);
//_____________________________________________________________________________
Bool_t
-AliMUONClusterFinderPeakCOG::Prepare(Int_t detElemId, TClonesArray* pads[2],
+AliMUONClusterFinderPeakCOG::Prepare(Int_t detElemId, TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2])
{
class AliMUONPad;
class TH2D;
-class TClonesArray;
class AliMUONClusterFinderPeakCOG : public AliMUONVClusterFinder
{
using AliMUONVClusterFinder::Prepare;
- virtual Bool_t Prepare(Int_t detElemId, TClonesArray* pads[2],
+ virtual Bool_t Prepare(Int_t detElemId, TObjArray* pads[2],
const AliMpArea& area, const AliMpVSegmentation* seg[2]);
virtual AliMUONCluster* NextCluster();
//_____________________________________________________________________________
Bool_t
-AliMUONClusterFinderPeakFit::Prepare(Int_t detElemId, TClonesArray* pads[2],
+AliMUONClusterFinderPeakFit::Prepare(Int_t detElemId, TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2])
{
//class AliMUONPad;
class TH2D;
-//class TClonesArray;
class AliMUONClusterFinderPeakFit : public AliMUONVClusterFinder
{
using AliMUONVClusterFinder::Prepare;
- virtual Bool_t Prepare(Int_t detElemId, TClonesArray* pads[2],
+ virtual Bool_t Prepare(Int_t detElemId, TObjArray* pads[2],
const AliMpArea& area, const AliMpVSegmentation* seg[2]);
virtual AliMUONCluster* NextCluster();
#include "AliMUONMathieson.h"
#include "AliMUONPad.h"
#include "AliMpArea.h"
-#include "TClonesArray.h"
#include "TObjArray.h"
#include "TVector2.h"
#include "TVirtualFitter.h"
//_____________________________________________________________________________
Bool_t
AliMUONClusterFinderSimpleFit::Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area)
{
/// Prepare for clustering
using AliMUONVClusterFinder::Prepare;
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area);
virtual AliMUONCluster* NextCluster();
#include "AliLog.h"
#include <Riostream.h>
-#include <TClonesArray.h>
+#include <TObjArray.h>
#include <TVector2.h>
//-----------------------------------------------------------------------------
return kFALSE;
}
- new ((*fPads[pad.Cathode()])[fPads[pad.Cathode()]->GetLast()+1]) AliMUONPad(pad);
+ fPads[pad.Cathode()]->Add(new AliMUONPad(pad));
// FIXME: should set the ClusterId of that new pad to be -1
return kTRUE;
}
//_____________________________________________________________________________
Bool_t
AliMUONPreClusterFinder::Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area)
{
/// Prepare for clustering, by giving access to segmentations and digit lists
cluster.AddPad(*pad);
Int_t cathode = pad->Cathode();
- TClonesArray& padArray = *fPads[cathode];
+ TObjArray& padArray = *fPads[cathode];
// WARNING: this Remove method uses the AliMUONPad::IsEqual if that method is
// present (otherwise just compares pointers) : so that one must be correct
// if implemented !
if ( !ShouldAbort() )
{
// On the 2nd cathode, only add pads overlapping with the current cluster
- TClonesArray& padArray = *fPads[1];
+ TObjArray& padArray = *fPads[1];
TIter next(&padArray);
AliMUONPad* testPad;
class TStopwatch;
class AliMUONPad;
+class TObjArray;
class AliMUONPreClusterFinder : public AliMUONVClusterFinder
{
using AliMUONVClusterFinder::Prepare;
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area);
virtual AliMUONCluster* NextCluster();
private:
TClonesArray fClusters; //!< the clusters we've found (owner)
- TClonesArray** fPads; //!< the pads corresponding to the digits (not owner)
+ TObjArray** fPads; //!< the pads corresponding to the digits (not owner)
Int_t fDetElemId; //!< which DE we're considering
AliMpArea fArea; //!< area into which to consider pads to *start* a cluster
Bool_t fShouldAbort; //!< to indicate clustering should stop right now
#include "AliMUONCluster.h"
#include "AliMpVSegmentation.h"
#include "AliMpPad.h"
-#include "TClonesArray.h"
+#include "TObjArray.h"
#include "TVector2.h"
#include "AliMUONPad.h"
#include "AliMUONVDigit.h"
return kFALSE;
}
- new ((*fPads[pad.Cathode()])[fPads[pad.Cathode()]->GetLast()+1]) AliMUONPad(pad);
+ fPads[pad.Cathode()]->Add(new AliMUONPad(pad));
// FIXME: should set the ClusterId of that new pad to be -1
return kTRUE;
}
//_____________________________________________________________________________
Bool_t
AliMUONPreClusterFinderV2::Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2])
{
pad->SetClusterId(cluster.GetUniqueID());
Int_t cathode = pad->Cathode();
- TClonesArray& padArray = *fPads[cathode];
+ TObjArray& padArray = *fPads[cathode];
padArray.Remove(pad);
TIter next(&padArray);
using AliMUONVClusterFinder::Prepare;
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2]);
private:
TClonesArray* fClusters; //!< the clusters we've found (owner)
const AliMpVSegmentation** fkSegmentations; //!< segmentations (not owner)
- TClonesArray** fPads; //!< the pads corresponding to the digits (not owner)
+ TObjArray** fPads; //!< the pads corresponding to the digits (not owner)
Int_t fDetElemId; //!< which DE we're considering
ClassDef(AliMUONPreClusterFinderV2,2) // A basic pre-cluster finder
#include "AliLog.h"
#include "AliMUONCluster.h"
#include "AliMpVSegmentation.h"
-#include "TClonesArray.h"
+#include "TObjArray.h"
#include "AliMpArea.h"
#include "TVector2.h"
#include "AliMUONPad.h"
return kFALSE;
}
- AliMUONPad* p = new ((*fPads[pad.Cathode()])[fPads[pad.Cathode()]->GetLast()+1]) AliMUONPad(pad);
+ AliMUONPad* p = new AliMUONPad(pad);
p->SetClusterId(-1);
+ fPads[pad.Cathode()]->Add(p);
return kTRUE;
}
//_____________________________________________________________________________
Bool_t
AliMUONPreClusterFinderV3::Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2])
{
AliMUONPad* addedPad = cluster.AddPad(*pad);
Int_t cathode = pad->Cathode();
- TClonesArray& padArray = *fPads[cathode];
+ TObjArray& padArray = *fPads[cathode];
padArray.Remove(pad);
TIter next(&padArray);
AliMUONPad* testPad;
using AliMUONVClusterFinder::Prepare;
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* seg[2]);
private:
TClonesArray* fClusters; //!< the clusters we've found (owner)
const AliMpVSegmentation** fkSegmentations; //!< segmentations (not owner)
- TClonesArray** fPads; //!< the pads corresponding to the digits (not owner)
+ TObjArray** fPads; //!< the pads corresponding to the digits (not owner)
TClonesArray* fPreClusters[2]; //!< the preclusters per cathode (owner)
Int_t fDetElemId; //!< which DE we're considering
TIterator* fIterator; //!< iterator on fClusters
#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include <Riostream.h>
-#include <TClonesArray.h>
+#include <TObjArray.h>
#include <TString.h>
#include <float.h>
{
Int_t detElemId = it.CurrentDEId();
- TClonesArray* pads[2] =
+ TObjArray* pads[2] =
{
- static_cast<TClonesArray*>(fPads[0]->GetValue(detElemId)),
- static_cast<TClonesArray*>(fPads[1]->GetValue(detElemId))
+ static_cast<TObjArray*>(fPads[0]->GetValue(detElemId)),
+ static_cast<TObjArray*>(fPads[1]->GetValue(detElemId))
};
if ( ( pads[0] && pads[0]->GetLast()>=0 ) ||
}
//_____________________________________________________________________________
-TClonesArray*
+TObjArray*
AliMUONSimpleClusterServer::PadArray(Int_t detElemId, Int_t cathode) const
{
/// Return array for given cathode of given DE
- return static_cast<TClonesArray*>(fPads[cathode]->GetValue(detElemId));
+ return static_cast<TObjArray*>(fPads[cathode]->GetValue(detElemId));
}
//_____________________________________________________________________________
GetMpSegmentation(detElemId,AliMp::GetCathodType(cathode));
AliMpPad pad = seg->PadByIndices(ix,iy);
- TClonesArray* padArray = PadArray(detElemId,cathode);
+ TObjArray* padArray = PadArray(detElemId,cathode);
if (!padArray)
{
- padArray = new TClonesArray("AliMUONPad",100);
+ padArray = new TObjArray(100);
fPads[cathode]->Add(detElemId,padArray);
}
- AliMUONPad mpad(detElemId,cathode,
+ AliMUONPad* mpad = new AliMUONPad(detElemId,cathode,
ix,iy,pad.GetPositionX(),pad.GetPositionY(),
pad.GetDimensionX(),pad.GetDimensionY(),
d->Charge());
- if ( d->IsSaturated() ) mpad.SetSaturated(kTRUE);
- mpad.SetUniqueID(d->GetUniqueID());
- new ((*padArray)[padArray->GetLast()+1]) AliMUONPad(mpad);
+ if ( d->IsSaturated() ) mpad->SetSaturated(kTRUE);
+ mpad->SetUniqueID(d->GetUniqueID());
+ padArray->Add(mpad);
}
}
{
cout << Form(" -- Cathode %1d",cathode) << endl;
- TClonesArray* padArray = PadArray(detElemId,cathode);
+ TObjArray* padArray = PadArray(detElemId,cathode);
if (!padArray)
{
void Global2Local(Int_t detElemId, const AliMpArea& globalArea, AliMpArea& localArea) const;
- TClonesArray* PadArray(Int_t detElemId, Int_t cathode) const;
+ TObjArray* PadArray(Int_t detElemId, Int_t cathode) const;
Int_t FindMCLabel(const AliMUONCluster& cluster, Int_t detElemId, const AliMpVSegmentation* seg[2]) const;
//_____________________________________________________________________________
Bool_t
AliMUONVClusterFinder::Prepare(Int_t /*detElemId*/,
- TClonesArray* /*pads*/[2],
+ TObjArray* /*pads*/[2],
const AliMpArea& /*area*/)
{
/// Not implemented
//_____________________________________________________________________________
Bool_t
AliMUONVClusterFinder::Prepare(Int_t /*detElemId*/,
- TClonesArray* /*pads*/[2],
+ TObjArray* /*pads*/[2],
const AliMpArea& /*area*/,
const AliMpVSegmentation* /*segmentations*/[2])
{
virtual Bool_t NeedSegmentation() const { return kFALSE; }
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area);
virtual Bool_t Prepare(Int_t detElemId,
- TClonesArray* pads[2],
+ TObjArray* pads[2],
const AliMpArea& area,
const AliMpVSegmentation* segmentations[2]);