/*
$Log$
+Revision 1.8 2001/10/21 18:38:43 hristov
+Several pointers were set to zero in the default constructors to avoid memory management problems
+
Revision 1.7 2001/10/04 15:56:07 jchudoba
TTask inheritance
sprintf(treeName,"TreeS_75x40_100x60_%d",serialNr);
tree = static_cast<TTree*>(iStream->CurrentFile()->Get(treeName));
fArrayTreeTPCS[i] = tree;
+ sprintf(treeName,"TreeS%d_TRD",serialNr);
+ tree = static_cast<TTree*>(iStream->CurrentFile()->Get(treeName));
+ fArrayTreeTRDS[i] = tree;
} else if (delta[i] != 0) {
Error("ConnectInputTrees","Only delta 0 or 1 is implemented");
return kFALSE;
fTreeD = new TTree(treeName,"Digits");
fTreeD->Write(0,TObject::kOverwrite);
}
+
+// special tree for TPC
+ sprintf(treeName,"TreeD_75x40_100x60_%d",fEvent);
+ fTreeDTPC = static_cast<TTree*>(fOutput->Get(treeName));
+ if (!fTreeDTPC) {
+ fTreeDTPC = new TTree(treeName,"TPC_Digits");
+ fTreeDTPC->Write(0,TObject::kOverwrite);
+ }
+
+// special tree for TRD
+ sprintf(treeName,"TreeD%d_TRD",fEvent);
+ fTreeDTRD = static_cast<TTree*>(fOutput->Get(treeName));
+ if (!fTreeDTRD) {
+ fTreeDTRD = new TTree(treeName,"TRD_Digits");
+ fTreeDTRD->Write(0,TObject::kOverwrite);
+ }
+
}
////////////////////////////////////////////////////////////////////////
delete fTreeD;
fTreeD = 0;
}
+ if (fTreeDTPC) {
+ delete fTreeDTPC;
+ fTreeDTPC = 0;
+ }
+ if (fTreeDTRD) {
+ delete fTreeDTRD;
+ fTreeDTRD = 0;
+ }
}
////////////////////////////////////////////////////////////////////////
void AliRunDigitizer::FinishGlobal()
TTree* GetInputTreeS(Int_t i) const {return fArrayTreeS[i];}
TTree* GetInputTreeH(Int_t i) const {return fArrayTreeH[i];}
TTree* GetInputTreeTPCS(Int_t i) const {return fArrayTreeTPCS[i];}
+ TTree* GetInputTreeTRDS(Int_t i) const {return fArrayTreeTRDS[i];}
TTree* GetTreeD() const {return fTreeD;}
+ TTree* GetTreeDTPC() const {return fTreeDTPC;}
+ TTree* GetTreeDTRD() const {return fTreeDTRD;}
void Digitize(Option_t* option = 0);
void Exec(Option_t *option) {this->Digitize();}
void ExecuteTask(Option_t* option = 0);
Int_t fCopyTreesFromInput; // from which input file the trees
// should be copied, -1 for no copies
TTree * fTreeD; //! output TreeD
+ TTree * fTreeDTPC; //! output TreeD for TPC
+ TTree * fTreeDTRD; //! output TreeD for TRD
Int_t fNinputs; // nr of input streams - can be taken from the TClonesArray dimension
Int_t fNinputsGiven; // nr of input streams given by user
TClonesArray * fInputStreams; // input streams
- TFile * fInputFiles[MAXSTREAMSTOMERGE]; //! p. to current input files
+ TFile * fInputFiles[MAXSTREAMSTOMERGE]; //! p. to current input files
TTree * fArrayTreeS[MAXSTREAMSTOMERGE]; //! array with p. to TreeS
TTree * fArrayTreeTPCS[MAXSTREAMSTOMERGE]; //! array with p. to TreeD_75x40_100x60_x (TPC Sdigits)
+ TTree * fArrayTreeTRDS[MAXSTREAMSTOMERGE]; //! array with p. to TreeSx_TRD (TRD Sdigits)
TTree * fArrayTreeH[MAXSTREAMSTOMERGE]; //! array with p. to TreeH
AliMergeCombi * fCombi; // pointer to the combination object
TArrayI fCombination; //! combination of events from
void FinishGlobal();
Int_t fDebug; //! specifies debug level, 0 is min
- ClassDef(AliRunDigitizer,2)
+ ClassDef(AliRunDigitizer,3)
};
#endif // ALIRUNDIGITIZER_H