]>
Commit | Line | Data |
---|---|---|
483b0559 | 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 | ////////////////////////////////////////////////////////////////////////////// | |
23 | ||
24 | // --- ROOT system --- | |
25 | ||
839828a6 | 26 | #include "TGeometry.h" |
27 | #include "TDirectory.h" | |
28 | #include "TFile.h" | |
29 | #include "TTree.h" | |
483b0559 | 30 | |
31 | // --- Standard library --- | |
32 | ||
839828a6 | 33 | #include <iostream.h> |
34 | #include <stdlib.h> | |
483b0559 | 35 | |
36 | // --- AliRoot header files --- | |
37 | ||
839828a6 | 38 | #include "AliRun.h" |
483b0559 | 39 | #include "AliEMCALClusterizer.h" |
839828a6 | 40 | #include "AliHeader.h" |
483b0559 | 41 | |
42 | ClassImp(AliEMCALClusterizer) | |
43 | ||
44 | //____________________________________________________________________________ | |
45 | AliEMCALClusterizer::AliEMCALClusterizer():TTask("","") | |
46 | { | |
47 | // ctor | |
839828a6 | 48 | fSplitFile = 0 ; |
483b0559 | 49 | } |
839828a6 | 50 | |
483b0559 | 51 | //____________________________________________________________________________ |
52 | AliEMCALClusterizer::AliEMCALClusterizer(const char* headerFile, const char* name): | |
53 | TTask(name, headerFile) | |
54 | { | |
55 | // ctor | |
839828a6 | 56 | fSplitFile = 0 ; |
483b0559 | 57 | } |
58 | ||
59 | //____________________________________________________________________________ | |
60 | AliEMCALClusterizer::~AliEMCALClusterizer() | |
61 | { | |
62 | // dtor | |
839828a6 | 63 | |
64 | fSplitFile = 0 ; | |
65 | ||
66 | } | |
67 | ||
68 | //____________________________________________________________________________ | |
69 | void AliEMCALClusterizer::SetSplitFile(const TString splitFileName) | |
70 | { | |
71 | // Diverts the Digits in a file separate from the hits file | |
72 | ||
73 | ||
74 | TDirectory * cwd = gDirectory ; | |
75 | fSplitFile = gAlice->InitTreeFile("R",splitFileName.Data()); | |
76 | fSplitFile->cd() ; | |
77 | gAlice->Write(0, TObject::kOverwrite); | |
78 | ||
79 | TTree *treeE = gAlice->TreeE(); | |
80 | if (!treeE) { | |
81 | cerr << "ERROR: AliEMCALClusterizer::SetSplitFile -> No TreeE found "<<endl; | |
82 | abort() ; | |
83 | } | |
84 | ||
85 | // copy TreeE | |
86 | AliHeader *header = new AliHeader(); | |
87 | treeE->SetBranchAddress("Header", &header); | |
88 | treeE->SetBranchStatus("*",1); | |
89 | TTree *treeENew = treeE->CloneTree(); | |
90 | treeENew->Write(0, TObject::kOverwrite); | |
91 | ||
92 | // copy AliceGeom | |
93 | TGeometry *AliceGeom = static_cast<TGeometry*>(cwd->Get("AliceGeom")); | |
94 | if (!AliceGeom) { | |
95 | cerr << "ERROR: AliEMCALClusterizer::SetSplitFile -> AliceGeom was not found in the input file "<<endl; | |
96 | abort() ; | |
97 | } | |
98 | AliceGeom->Write(0, TObject::kOverwrite); | |
99 | ||
100 | gAlice->MakeTree("R", fSplitFile); | |
101 | cwd->cd() ; | |
102 | cout << "INFO: AliEMCALClusterizer::SetSPlitMode -> RecPoints will be stored in " << splitFileName.Data() << endl ; | |
483b0559 | 103 | } |