X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMaker.cxx;h=3482f19e829e4d198ccf32f7e448c1cebcfaf8a5;hb=02ef9013f65d163d5436db4d9034df8acc40b72e;hp=b8571ad4ef3df1181f49f1669bc790bb35c3359e;hpb=baef0810d8890cfbd9ea3a8e766812ca08a0a589;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMaker.cxx b/PHOS/AliPHOSTrackSegmentMaker.cxx index b8571ad4ef3..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,21 +43,89 @@ // --- ROOT system --- +#include "TTree.h" // --- Standard library --- // --- AliRoot header files --- #include "AliPHOSTrackSegmentMaker.h" +#include "AliLog.h" ClassImp( AliPHOSTrackSegmentMaker) //____________________________________________________________________________ - AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() : TTask() +AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() : + TObject(), + fESD(0), + fGeom(0), + fEMCRecPoints(0), + fCPVRecPoints(0) { + // ctor + fEMCRecPoints = new TObjArray(100) ; + fCPVRecPoints = new TObjArray(100) ; } + //____________________________________________________________________________ -AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(char * header,char * branch): TTask("AliPHOSTrackSegmentMaker","") +AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(AliPHOSGeometry *geom): + TObject(), + fESD(0), + fGeom(geom), + fEMCRecPoints(0), + fCPVRecPoints(0) { + // ctor + 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() +{ + //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); +}