]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSTrackSegmentMaker.cxx
AliPHOSGetter is removed
[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 (fEMCRecPoints) {
95     fEMCRecPoints->Delete();
96     delete fEMCRecPoints;
97   }
98   if (fCPVRecPoints) {
99     fCPVRecPoints->Delete();
100     delete fCPVRecPoints;
101   }
102 }
103
104 //____________________________________________________________________________
105 void AliPHOSTrackSegmentMaker::SetInput(TTree *clustersTree)
106 {
107   // Read the clusters tree and creates the
108   // arrays with the EMC and CPV
109   // clusters.
110   // and set the corresponding branch addresses
111
112   TBranch *emcbranch = clustersTree->GetBranch("PHOSEmcRP");
113   if (!emcbranch) { 
114     AliError("can't get the branch with the PHOS EMC clusters !");
115     return;
116   }
117   fEMCRecPoints = new TObjArray(100) ;
118   emcbranch->SetAddress(&fEMCRecPoints);
119   emcbranch->GetEntry(0);
120
121   TBranch *cpvbranch = clustersTree->GetBranch("PHOSCpvRP");
122   if (!cpvbranch) { 
123     AliError("can't get the branch with the PHOS CPV clusters !");
124     return;
125   }
126   fCPVRecPoints = new TObjArray(100) ;
127   cpvbranch->SetAddress(&fCPVRecPoints);
128   cpvbranch->GetEntry(0);
129 }