]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSTrackSegmentMaker.cxx
Moved MakePrimary to EMCRecPoint to rpduce correct order of primaries
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15 /* $Id$ */
16
17 /* History of cvs commits:
18  *
19  * $Log$
20  * Revision 1.29  2007/08/28 12:55:08  policheh
21  * Loaders removed from the reconstruction code (C.Cheshkov)
22  *
23  * Revision 1.28  2007/08/07 14:12:03  kharlov
24  * Quality assurance added (Yves Schutz)
25  *
26  * Revision 1.27  2006/08/25 16:56:30  kharlov
27  * Compliance with Effective C++
28  *
29  * Revision 1.26  2006/08/25 16:00:53  kharlov
30  * Compliance with Effective C++AliPHOSHit.cxx
31  *
32  * Revision 1.25  2005/05/28 14:19:05  schutz
33  * Compilation warnings fixed by T.P.
34  *
35  */
36
37 //_________________________________________________________________________
38 // Algorithm Base class to construct PHOS track segments
39 // Associates EMC and PPSD clusters
40 // Unfolds the EMC cluster   
41 //*-- 
42 //*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH)
43
44
45 // --- ROOT system ---
46 #include "TTree.h"
47
48 // --- Standard library ---
49
50 // --- AliRoot header files ---
51 #include "AliPHOSTrackSegmentMaker.h"
52 #include "AliLog.h"
53
54 ClassImp( AliPHOSTrackSegmentMaker) 
55
56
57 //____________________________________________________________________________
58 AliPHOSTrackSegmentMaker:: AliPHOSTrackSegmentMaker() : 
59   TObject(),
60   fESD(0), 
61   fGeom(0),
62   fEMCRecPoints(0),
63   fCPVRecPoints(0)
64 {
65  // ctor
66 }
67
68 //____________________________________________________________________________
69 AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(AliPHOSGeometry *geom):
70   TObject(),
71   fESD(0), 
72   fGeom(geom),
73   fEMCRecPoints(0),
74   fCPVRecPoints(0)
75 {
76   // ctor
77 }
78
79 //____________________________________________________________________________
80 AliPHOSTrackSegmentMaker::AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) :
81   TObject(tsmaker),
82   fESD(tsmaker.GetESD()), 
83   fGeom(tsmaker.fGeom),
84   fEMCRecPoints(tsmaker.fEMCRecPoints),
85   fCPVRecPoints(tsmaker.fCPVRecPoints)
86 {
87   //Copy constructor
88
89
90 //____________________________________________________________________________
91 AliPHOSTrackSegmentMaker::~AliPHOSTrackSegmentMaker()
92 {
93  //Remove this from the parental task before destroying
94   //  if(AliPHOSGetter::Instance()->PhosLoader())
95   //    AliPHOSGetter::Instance()->PhosLoader()->CleanTracker();
96   if (fEMCRecPoints) {
97     fEMCRecPoints->Delete();
98     delete fEMCRecPoints;
99   }
100   if (fCPVRecPoints) {
101     fCPVRecPoints->Delete();
102     delete fCPVRecPoints;
103   }
104 }
105
106 //____________________________________________________________________________
107 void AliPHOSTrackSegmentMaker::SetInput(TTree *clustersTree)
108 {
109   // Read the clusters tree and creates the
110   // arrays with the EMC and CPV
111   // clusters.
112   // and set the corresponding branch addresses
113
114   TBranch *emcbranch = clustersTree->GetBranch("PHOSEmcRP");
115   if (!emcbranch) { 
116     AliError("can't get the branch with the PHOS EMC clusters !");
117     return;
118   }
119   fEMCRecPoints = new TObjArray(100) ;
120   emcbranch->SetAddress(&fEMCRecPoints);
121   emcbranch->GetEntry(0);
122
123   TBranch *cpvbranch = clustersTree->GetBranch("PHOSCpvRP");
124   if (!cpvbranch) { 
125     AliError("can't get the branch with the PHOS CPV clusters !");
126     return;
127   }
128   fCPVRecPoints = new TObjArray(100) ;
129   cpvbranch->SetAddress(&fCPVRecPoints);
130   cpvbranch->GetEntry(0);
131 }