EMCAL e-by-e reconstruction methods from Cvetan
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizer.cxx
... / ...
CommitLineData
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// Base class for the clusterization algorithm (pure abstract)
20//*--
21//*-- Author: Yves Schutz SUBATECH
22// Modif:
23// August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction
24// of new IO (à la PHOS)
25//////////////////////////////////////////////////////////////////////////////
26
27// --- ROOT system ---
28#include "TClonesArray.h"
29#include "TTree.h"
30
31// --- Standard library ---
32
33
34// --- AliRoot header files ---
35#include "AliEMCALClusterizer.h"
36#include "AliLog.h"
37
38ClassImp(AliEMCALClusterizer)
39
40//____________________________________________________________________________
41AliEMCALClusterizer::AliEMCALClusterizer():
42 fDigitsArr(NULL),
43 fTreeR(NULL),
44 fRecPoints(NULL)
45{
46 // ctor
47}
48
49//____________________________________________________________________________
50AliEMCALClusterizer::~AliEMCALClusterizer()
51{
52 // dtor
53 if (fDigitsArr) {
54 fDigitsArr->Delete();
55 delete fDigitsArr;
56 }
57 if (fRecPoints) {
58 fRecPoints->Delete();
59 delete fRecPoints;
60 }
61}
62
63//____________________________________________________________________________
64void AliEMCALClusterizer::SetInput(TTree *digitsTree)
65{
66 // Read the digits from the input tree
67 TBranch *branch = digitsTree->GetBranch("EMCAL");
68 if (!branch) {
69 AliError("can't get the branch with the EMCAL digits !");
70 return;
71 }
72 fDigitsArr = new TClonesArray("AliEMCALDigit",100);
73 branch->SetAddress(&fDigitsArr);
74 branch->GetEntry(0);
75}
76
77//____________________________________________________________________________
78void AliEMCALClusterizer::SetOutput(TTree *clustersTree)
79{
80 // Read the digits from the input tree
81 fTreeR = clustersTree;
82
83 AliDebug(9, "Making array for EMCAL clusters");
84 fRecPoints = new TObjArray(100) ;
85 Int_t split = 0;
86 Int_t bufsize = 32000;
87 fTreeR->Branch("EMCALECARP", "TObjArray", &fRecPoints, bufsize, split);
88}