X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMaker.cxx;h=3482f19e829e4d198ccf32f7e448c1cebcfaf8a5;hb=86a04b66654e7cd685ac6f2ab7e57defcaf33bfa;hp=cae4c1d1a0936fa666dc3a0cd3864a687871d23d;hpb=15dfd8929cc449f4c0d849259583856bdec09007;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMaker.cxx b/PHOS/AliPHOSTrackSegmentMaker.cxx index cae4c1d1a09..3482f19e829 100644 --- a/PHOS/AliPHOSTrackSegmentMaker.cxx +++ b/PHOS/AliPHOSTrackSegmentMaker.cxx @@ -13,6 +13,27 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ /* $Id$ */ + +/* History of cvs commits: + * + * $Log$ + * Revision 1.29 2007/08/28 12:55:08 policheh + * Loaders removed from the reconstruction code (C.Cheshkov) + * + * Revision 1.28 2007/08/07 14:12:03 kharlov + * Quality assurance added (Yves Schutz) + * + * Revision 1.27 2006/08/25 16:56:30 kharlov + * Compliance with Effective C++ + * + * Revision 1.26 2006/08/25 16:00:53 kharlov + * Compliance with Effective C++AliPHOSHit.cxx + * + * Revision 1.25 2005/05/28 14:19:05 schutz + * Compilation warnings fixed by T.P. + * + */ + //_________________________________________________________________________ // Algorithm Base class to construct PHOS track segments // Associates EMC and PPSD clusters @@ -22,41 +43,89 @@ // --- ROOT system --- -#include "TGeometry.h" -#include "TFile.h" #include "TTree.h" // --- Standard library --- -#include // --- AliRoot header files --- -#include "AliRun.h" #include "AliPHOSTrackSegmentMaker.h" -#include "AliHeader.h" +#include "AliLog.h" ClassImp( AliPHOSTrackSegmentMaker) //____________________________________________________________________________ - AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() : TTask("","") +AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() : + TObject(), + fESD(0), + fGeom(0), + fEMCRecPoints(0), + fCPVRecPoints(0) { - // ctor - fSplitFile= 0 ; - + // ctor + fEMCRecPoints = new TObjArray(100) ; + fCPVRecPoints = new TObjArray(100) ; } //____________________________________________________________________________ -AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(const char * headerFile, const char * name, const Bool_t toSplit): TTask(name, headerFile) +AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(AliPHOSGeometry *geom): + TObject(), + fESD(0), + fGeom(geom), + fEMCRecPoints(0), + fCPVRecPoints(0) { // ctor - fSplitFile= 0 ; - fToSplit = toSplit ; + fEMCRecPoints = new TObjArray(100) ; + fCPVRecPoints = new TObjArray(100) ; } +//____________________________________________________________________________ +AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) : + TObject(tsmaker), + fESD(tsmaker.GetESD()), + fGeom(tsmaker.fGeom), + fEMCRecPoints(tsmaker.fEMCRecPoints), + fCPVRecPoints(tsmaker.fCPVRecPoints) +{ + //Copy constructor +} + //____________________________________________________________________________ AliPHOSTrackSegmentMaker::~AliPHOSTrackSegmentMaker() { - - fSplitFile = 0 ; + //Remove this from the parental task before destroying + if (fEMCRecPoints) { + fEMCRecPoints->Delete(); + delete fEMCRecPoints; + } + if (fCPVRecPoints) { + fCPVRecPoints->Delete(); + delete fCPVRecPoints; + } } +//____________________________________________________________________________ +void AliPHOSTrackSegmentMaker::SetInput(TTree *clustersTree) +{ + // Read the clusters tree and set addresses to the + // arrays with the EMC and CPV clusters + + TBranch *emcbranch = clustersTree->GetBranch("PHOSEmcRP"); + if (!emcbranch) { + AliError("can't get the branch with the PHOS EMC clusters !"); + return; + } + emcbranch->SetAddress(&fEMCRecPoints); + fEMCRecPoints->Delete(); + emcbranch->GetEntry(0); + + TBranch *cpvbranch = clustersTree->GetBranch("PHOSCpvRP"); + if (!cpvbranch) { + AliError("can't get the branch with the PHOS CPV clusters !"); + return; + } + cpvbranch->SetAddress(&fCPVRecPoints); + fCPVRecPoints->Delete(); + cpvbranch->GetEntry(0); +}