]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEER/AliReconstructor.cxx
#98480: Make AliReconstruction::InitRun and AliReconstruction::ProcessEvent public
[u/mrichter/AliRoot.git] / STEER / STEER / AliReconstructor.cxx
CommitLineData
59697224 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
16/* $Id$ */
17
18///////////////////////////////////////////////////////////////////////////////
19// //
20// base class for reconstruction algorithms //
21// //
c757bafd 22// Derived classes should implement a default constructor and //
23// the virtual methods //
59697224 24// - Reconstruct : to perform the local reconstruction for all events //
25// - FillESD : to fill the ESD for the current event //
26// //
27// The reconstructor classes for the barrel detectors should in addition //
28// implement the method //
29// - CreateTracker : to create a tracker object for the barrel detector //
30// //
31// The ITS reconstructor should in addition implement the method //
32// - CreateVertexer : to create an object for the vertex finding //
33// //
34///////////////////////////////////////////////////////////////////////////////
35
36
f37d970d 37#include "AliLog.h"
59697224 38#include "AliReconstructor.h"
7e88424f 39#include <TClass.h>
c757bafd 40#include <TString.h>
59697224 41
42
43ClassImp(AliReconstructor)
c757bafd 44
820b4d9e 45const AliDetectorRecoParam* AliReconstructor::fgRecoParam[AliReconstruction::kNDetectors] = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
46// #ifdef MFT_UPGRADE
47// ,NULL
48// #endif
49 ,NULL // AU
50};
c757bafd 51
b26c3770 52//_____________________________________________________________________________
53void AliReconstructor::ConvertDigits(AliRawReader* /*rawReader*/,
54 TTree* /*digitsTree*/) const
55{
56// convert raw data digits into digit objects in a root tree
57
58 AliError("conversion of raw data digits into digit objects not implemented");
59}
60
61
62//_____________________________________________________________________________
63void AliReconstructor::Reconstruct(TTree* /*digitsTree*/,
64 TTree* /*clustersTree*/) const
65{
66// run the local reconstruction
67
68 AliError("local event reconstruction not implemented");
69}
70
71//_____________________________________________________________________________
72void AliReconstructor::Reconstruct(AliRawReader* /*rawReader*/,
73 TTree* /*clustersTree*/) const
74{
75// run the local reconstruction with raw data input
76
77 AliError("local event reconstruction not implemented for raw data input");
78}
79
b26c3770 80//_____________________________________________________________________________
81void AliReconstructor::FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/,
af885e0f 82 AliESDEvent* /*esd*/) const
b26c3770 83{
84// fill the ESD.
85// by default nothing is done
86
87}
88
89//_____________________________________________________________________________
90void AliReconstructor::FillESD(AliRawReader* /*rawReader*/,
af885e0f 91 TTree* clustersTree, AliESDEvent* esd) const
b26c3770 92{
93// fill the ESD in case of raw data input.
94// by default the FillESD method for MC is called
95
96 FillESD((TTree*)NULL, clustersTree, esd);
97}
98
c757bafd 99//_____________________________________________________________________________
100const char* AliReconstructor::GetDetectorName() const
101{
102// get the name of the detector
103
104 static TString detName;
105 detName = GetName();
106 detName.Remove(0, 3);
107 detName.Remove(detName.Index("Reconstructor"));
f9fc20b4 108 detName.ReplaceAll("Upgrade","");
c757bafd 109 return detName.Data();
110}
7e88424f 111
112//_____________________________________________________________________________
113void AliReconstructor::SetRecoParam(const AliDetectorRecoParam *par)
114{
115 // To be implemented by the detectors.
116 // As soon as we manage to remove the static members
117 // and method in the detector reconstructors, we will
118 // implemented this method in the base class and remove
119 // the detectors implementations.
120 Int_t iDet = AliReconstruction::GetDetIndex(GetDetectorName());
121
122 if (iDet >= 0)
123 fgRecoParam[iDet] = par;
124 else
125 AliError(Form("Invalid detector index for (%s)",GetDetectorName()));
126
127 return;
128}
129
130//_____________________________________________________________________________
131const AliDetectorRecoParam* AliReconstructor::GetRecoParam(Int_t iDet)
132{
133 // Get the current reconstruciton parameters
134 // for a given detector
ac4a7581 135 if (iDet >= 0 && iDet < AliReconstruction::kNDetectors)
7e88424f 136 return fgRecoParam[iDet];
137 else {
138 AliErrorClass(Form("Invalid detector index (%d)",iDet));
139 return NULL;
140 }
141}
10d100d4 142
143//_____________________________________________________________________________
d999f2e6 144void AliReconstructor::GetPidSettings(AliESDpid */*esdPID*/) {
10d100d4 145 //
146 // Function to set Pid settings in esdPID
147 // based on detector-specific AliRecoParams
148 // to be implemented by detectors separately (e.g TOF)
149 //
150 return;
151}