X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMaker.cxx;h=3482f19e829e4d198ccf32f7e448c1cebcfaf8a5;hb=876d32b919504c79df679cb2322aa7178abfd77b;hp=9cd74f1d3d0f28c06c0fac13d3695a1cbdeddd5f;hpb=9f616d6157da38ebfea66eb5f514c7c6b77fa013;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMaker.cxx b/PHOS/AliPHOSTrackSegmentMaker.cxx index 9cd74f1d3d0..3482f19e829 100644 --- a/PHOS/AliPHOSTrackSegmentMaker.cxx +++ b/PHOS/AliPHOSTrackSegmentMaker.cxx @@ -12,42 +12,120 @@ * about the suitability of this software for any purpose. It is * * 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. + * + */ //_________________________________________________________________________ -// A brief description of the class -//*-- Author : Yves Schutz SUBATECH -////////////////////////////////////////////////////////////////////////////// +// 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 "TObjArray.h" -#include "TClonesArray.h" +// --- ROOT system --- +#include "TTree.h" // --- Standard library --- -#include - // --- AliRoot header files --- - #include "AliPHOSTrackSegmentMaker.h" -#include "AliPHOSTrackSegment.h" -#include "AliPHOSLink.h" -#include "AliPHOSv0.h" -#include "AliRun.h" +#include "AliLog.h" ClassImp( AliPHOSTrackSegmentMaker) //____________________________________________________________________________ - AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() // ctor +AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() : + TObject(), + fESD(0), + fGeom(0), + fEMCRecPoints(0), + fCPVRecPoints(0) { - fR0 = 4. ; + // ctor + fEMCRecPoints = new TObjArray(100) ; + fCPVRecPoints = new TObjArray(100) ; } //____________________________________________________________________________ -void AliPHOSTrackSegmentMaker::MakeTrackSegments(DigitsList * DL, RecPointsList * emcl, RecPointsList * ppsdl, - TrackSegmentsList * trsl) +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); +}