//_____________________________________________________________________________
ClassImp(AliSegmentArray)
-AliSegmentArray::AliSegmentArray()
+ AliSegmentArray::AliSegmentArray()
+ :TNamed(),
+ fSegment(0),
+ fTreeIndex(0),
+ fNSegment(0),
+ fTree(0),
+ fTreeOwner(kFALSE),
+ fBranch(0),
+ fClass(0)
{
//
+ // constructor
//
- //
- fNSegment=0;
- fSegment =0;
- fTreeIndex = 0;
- fTree = 0;
- fClass = 0;
- fBranch = 0;
- fTreeOwner = kFALSE;
+
}
AliSegmentArray::AliSegmentArray(const char *classname, Int_t n)
+ :TNamed("SegmentArray","SegmentArray"),
+ fSegment(0),
+ fTreeIndex(0),
+ fNSegment(0),
+ fTree(0),
+ fTreeOwner(kFALSE),
+ fBranch(0),
+ fClass(0)
{
//
//constructor which
// Create an array of objects of classname. The class must inherit from
// AliSegmentID . The second argument adjust number of entries in
// the array.
- fTreeOwner = kFALSE;
- fNSegment=0;
- fSegment =0;
- fTreeIndex = 0;
- fTree = 0;
- fClass = 0;
- SetName("SegmentArray");
- SetTitle("SegmentArray");
+
SetClass(classname);
if (MakeArray(n)==kFALSE){
}
}
-AliSegmentArray::AliSegmentArray(const AliSegmentArray &segment):
- TNamed(segment)
+AliSegmentArray::AliSegmentArray(const AliSegmentArray &segment)
+ :TNamed(segment),
+ fSegment(0),
+ fTreeIndex(0),
+ fNSegment(0),
+ fTree(0),
+ fTreeOwner(kFALSE),
+ fBranch(0),
+ fClass(0)
+
{
//
//copy constructor
fSegment->Delete();
delete fSegment;
}
- if (fTree)
+ if (fTree) {
if (fTreeOwner) delete fTree;
- else fTree->Reset();
+ else fTree->Reset();}
if (fTreeIndex) delete fTreeIndex;
// if (fClass!=0) delete fClass;
{
// AliSegmentID segment;
AliSegmentID * psegment = NewSegment();
- if (fTree)
+ if (fTree) {
if (fTreeOwner)
{
delete fTree;
fTree = new TTree("Segment Tree","Tree with segments");
}
else fTree->Reset();
+ }
+ else {
+ cout << "Tree with segments does not exist"<<endl;
+ return;
+ }
//PH fBranch = fTree->Branch("Segment",psegment->IsA()->GetName(),&psegment,64000);
//PH AliSegmentID *s = (AliSegmentID*)(*fSegment)[index];
AliSegmentID *s = (AliSegmentID*)fSegment->At(index);
if (s==0) s= NewSegment();
- s->SetID(index);
- // new AliSegmentID(index);
+
if (s!=0) {
+ s->SetID(index);
+ // new AliSegmentID(index);
Int_t treeIndex =(*fTreeIndex)[index];
if (treeIndex<1) return 0;
else treeIndex--; //I don't like it Int table I have index shifted by 1