]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/VSD.cxx
Getting rid of effC++ warnings about missing copy constructor and assignment operator.
[u/mrichter/AliRoot.git] / EVE / Reve / VSD.cxx
CommitLineData
5a5a1232 1// $Header$
2
3#include "VSD.h"
4#include <TFile.h>
5
6using namespace Reve;
7
8//______________________________________________________________________
9// VSD
10//
11
12ClassImp(VSD)
13
265ecb21 14VSD::VSD(const Text_t* , const Text_t* ) :
15 TObject(),
16
17 fBuffSize (128*1024),
18
19 mFile (0),
20 mDirectory (0),
21
22
23 mTreeK (0),
24 //mTreeTR (0),
25 mTreeH (0),
26 mTreeC (0),
27 mTreeR (0),
28 mTreeKK (0),
29 mTreeV0 (0),
30 mTreeGI (0),
31
32 mK(), mpK (&mK),
33 mH(), mpH (&mH),
34 mC(), mpC (&mC),
35 mR(), mpR (&mR),
36 mKK(), mpKK(&mKK),
37 mV0(), mpV0(&mV0),
38 mGI(), mpGI(&mGI)
39{}
5a5a1232 40
41/**************************************************************************/
42/**************************************************************************/
43
44void VSD::SetDirectory(TDirectory* dir)
45{
46 mDirectory = dir;
47}
48
49/**************************************************************************/
50/**************************************************************************/
51
52void VSD::CreateTrees()
53{
54 mDirectory->cd();
55 // TR missing ...
56 mTreeK = new TTree("Kinematics", "Simulated tracks.");
57 mTreeH = new TTree("Hits", "Combined detector hits.");
58 mTreeC = new TTree("Clusters", "Reconstructed clusters.");
59 mTreeR = new TTree("RecTracks", "Reconstructed tracks.");
60 mTreeKK = new TTree("RecKinks", "Reconstructed kinks.");
61 mTreeV0 = new TTree("RecV0s", "Reconstructed V0s.");
62 mTreeGI = new TTree("GenInfo", "Objects prepared for cross query.");
63}
64
65void VSD::DeleteTrees()
66{
67 delete mTreeK; mTreeK = 0;
68 // delete mTreeTR; mTreeTR = 0;
69 delete mTreeH; mTreeH = 0;
70 delete mTreeC; mTreeC = 0;
71 delete mTreeR; mTreeR = 0;
72 delete mTreeV0; mTreeV0 = 0;
73 delete mTreeKK; mTreeKK = 0;
74 delete mTreeGI; mTreeGI = 0;
75}
76
77void VSD::CreateBranches()
78{
79 // TR missing ...
80 if(mTreeK)
81 mTreeK ->Branch("K", "Reve::MCTrack", &mpK, fBuffSize);
82 if(mTreeH)
83 mTreeH ->Branch("H", "Reve::Hit", &mpH, fBuffSize);
84 if(mTreeC)
85 mTreeC ->Branch("C", "Reve::Cluster", &mpC, fBuffSize);
86 if(mTreeR)
87 mTreeR ->Branch("R", "Reve::RecTrack", &mpR, fBuffSize);
88 if(mTreeKK)
89 mTreeKK->Branch("KK", "Reve::RecKink", &mpKK, fBuffSize);
90 if(mTreeV0)
91 mTreeV0->Branch("V0", "Reve::RecV0", &mpV0, fBuffSize);
92
93 if(mTreeGI) {
94 mTreeGI->Branch("GI", "Reve::GenInfo", &mpGI, fBuffSize);
95 mTreeGI->Branch("K.", "Reve::MCTrack", &mpK);
96 mTreeGI->Branch("R.", "Reve::RecTrack", &mpR);
97 }
98}
99
100void VSD::SetBranchAddresses()
101{
102 // TR missing ...
103 if(mTreeK)
104 mTreeK ->SetBranchAddress("K", &mpK);
105 if(mTreeH)
106 mTreeH ->SetBranchAddress("H", &mpH);
107 if(mTreeC)
108 mTreeC ->SetBranchAddress("C", &mpC);
109 if(mTreeR)
110 mTreeR ->SetBranchAddress("R", &mpR);
111 if(mTreeKK)
112 mTreeKK->SetBranchAddress("KK", &mpKK);
113 if(mTreeV0)
114 mTreeV0->SetBranchAddress("V0", &mpV0);
115
116 if(mTreeGI) {
117 mTreeGI->SetBranchAddress("GI", &mpGI);
118 mTreeGI->SetBranchAddress("K.", &mpK);
119 mTreeGI->SetBranchAddress("R.", &mpR);
120 }
121}
122
123void VSD::WriteTrees()
124{
125 // Does nothing here ...
126}
127
128/**************************************************************************/
129/**************************************************************************/
130
131void VSD::LoadTrees()
132{
133 static const Exc_t eH("VSD::LoadTrees ");
134
135 if(mDirectory == 0)
136 throw(eH + "directory not set.");
137
138 printf("Reading kinematics.\n");
139 mTreeK = (TTree*) mDirectory->Get("Kinematics");
140 if(mTreeK == 0) {
141 printf("%s Kinematics not available in mDirectory %s.\n",
142 eH.Data(), mDirectory->GetName());
143 }
144
145 printf("Reading hits.\n");
146 mTreeH = (TTree*) mDirectory->Get("Hits");
147 if(mTreeH == 0) {
148 printf("%s Hits not available in mDirectory %s.\n",
149 eH.Data(), mDirectory->GetName());
150 }
151
152 printf("Reading clusters.\n");
153 mTreeC = (TTree*) mDirectory->Get("Clusters");
154 if(mTreeC == 0) {
155 printf("%s Clusters not available in mDirectory %s.\n",
156 eH.Data(), mDirectory->GetName());
157 }
158
159 printf("Reading reconstructed tracks.\n");
160 mTreeR = (TTree*) mDirectory->Get("RecTracks");
161 if(mTreeR == 0) {
162 printf("%s RecTracks not available in mDirectory %s.\n",
163 eH.Data(), mDirectory->GetName());
164 }
165
166 printf("Reading reconstructed kinks. \n");
167 mTreeKK = (TTree*) mDirectory->Get("RecKinks");
168 if(mTreeKK == 0) {
169 printf("%s Kinks not available in mDirectory %s.\n",
170 eH.Data(), mDirectory->GetName());
171 }
172
173 printf("Reading Reconstructed V0s.\n");
174 mTreeV0 = (TTree*) mDirectory->Get("RecV0s");
175 if(mTreeV0 == 0) {
176 printf("%s V0 not available in mDirectory %s.\n",
177 eH.Data(), mDirectory->GetName());
178 }
179
180 printf("Reading GenInfo.\n");
181 mTreeGI = (TTree*)mDirectory->Get("GenInfo");
182 if(mTreeGI == 0) {
183 printf("%s GenInfo not available in mDirectory %s.\n",
184 eH.Data(), mDirectory->GetName());
185 }
186
187}
188
189void VSD::LoadVSD(const Text_t* vsd_file_name, const Text_t* dir_name)
190{
191 static const Exc_t eH("VSD::LoadVSD ");
192
193 mFile = TFile::Open(vsd_file_name);
194 if(mFile == 0)
195 throw(eH + "can not open VSD file '" + vsd_file_name + "'.");
196
197 mDirectory = (TDirectory*) mFile->Get(dir_name);
198 if(mDirectory == 0)
199 throw(eH + "directory '" + dir_name + "' not found in VSD file '" + vsd_file_name + "'.");
200 printf("%p\n", (void*)mDirectory);
201 LoadTrees();
202 SetBranchAddresses();
203}
204
205/**************************************************************************/
206/**************************************************************************/