X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMaker.cxx;h=3482f19e829e4d198ccf32f7e448c1cebcfaf8a5;hb=4821f07dc803887393ccc80cb6da1fc1fae2fcdb;hp=70e15e7a998c255891a21acdec66245290c72b2b;hpb=a4e98857bb4086fdb904ae5fbc807ae6065d5080;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMaker.cxx b/PHOS/AliPHOSTrackSegmentMaker.cxx index 70e15e7a998..3482f19e829 100644 --- a/PHOS/AliPHOSTrackSegmentMaker.cxx +++ b/PHOS/AliPHOSTrackSegmentMaker.cxx @@ -13,36 +13,119 @@ * 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 // Unfolds the EMC cluster -// +//*-- //*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH) // --- ROOT system --- - -#include "TFile.h" -#include "TROOT.h" +#include "TTree.h" // --- Standard library --- // --- AliRoot header files --- -#include "AliRun.h" #include "AliPHOSTrackSegmentMaker.h" -#include "AliPHOS.h" -#include "AliPHOSGeometry.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(AliPHOSGeometry *geom): + TObject(), + fESD(0), + fGeom(geom), + fEMCRecPoints(0), + fCPVRecPoints(0) { + // ctor + fEMCRecPoints = new TObjArray(100) ; + fCPVRecPoints = new TObjArray(100) ; } + //____________________________________________________________________________ -AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(char * header,char * branch): TTask("AliPHOSTrackSegmentMaker","") +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); +}