]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliTOFHeader.cxx
1) provide a static pointer to THerwig to be able to retriev AVWGT after running...
[u/mrichter/AliRoot.git] / STEER / AliTOFHeader.cxx
CommitLineData
f858b00e 1/**************************************************************************
2 * Copyright(c) 1998-2003, 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//-----------------------------------------------------------------
17// Implementation of the Event Time class
18// for the Event Data Summary class
19// This class contains the Event Time
20// as estimated by the TOF combinatorial algorithm
21// Origin: A.De Caro, decaro@lsa.infn.it
22//-----------------------------------------------------------------
23
24//---- standard headers ----
25#include "Riostream.h"
26//---- Root headers --------
27#include "TArrayF.h"
28#include "TArrayI.h"
29//---- AliRoot headers -----
30#include "AliTOFHeader.h"
31
32
33ClassImp(AliTOFHeader)
34
35//--------------------------------------------------------------------------
36AliTOFHeader::AliTOFHeader() :
37 TObject(),
38 fDefaultEventTimeValue(0.),
39 fDefaultEventTimeRes(0.),
40 fNbins(0),
41 fEventTimeValues(new TArrayF(1)),
42 fEventTimeRes(new TArrayF(1)),
43 fNvalues(new TArrayI(1)),
44 fTOFtimeResolution(0.),
45 fT0spread(0.)
46{
47 //
48 // Default Constructor
49 //
50
51}
52
53//--------------------------------------------------------------------------
54AliTOFHeader::AliTOFHeader(Float_t defEvTime, Float_t defResEvTime,
55 Int_t nDifPbins, Float_t *times, Float_t *res,
56 Int_t *nPbin, Float_t tofTimeRes, Float_t t0spread) :
57 TObject(),
58 fDefaultEventTimeValue(defEvTime),
59 fDefaultEventTimeRes(defResEvTime),
60 fNbins(nDifPbins),
61 fEventTimeValues(new TArrayF(nDifPbins)),
62 fEventTimeRes(new TArrayF(nDifPbins)),
63 fNvalues(new TArrayI(nDifPbins)),
64 fTOFtimeResolution(tofTimeRes),
65 fT0spread(t0spread)
66{
67 //
68 // Constructor for vertex Z from pixels
69 //
70
71 for (Int_t ii=0; ii<fNbins; ii++) {
72 fEventTimeValues->SetAt(times[ii],ii);
73 fEventTimeRes->SetAt(res[ii],ii);
74 fNvalues->SetAt(nPbin[ii],ii);
75 }
76
77}
78
79//--------------------------------------------------------------------------
80AliTOFHeader::AliTOFHeader(const AliTOFHeader &source):
81 TObject(source),
82 fDefaultEventTimeValue(source.fDefaultEventTimeValue),
83 fDefaultEventTimeRes(source.fDefaultEventTimeRes),
84 fNbins(source.fNbins),
85 fEventTimeValues(new TArrayF(fNbins)),
86 fEventTimeRes(new TArrayF(fNbins)),
87 fNvalues(new TArrayI(fNbins)),
88 fTOFtimeResolution(source.fTOFtimeResolution),
89 fT0spread(source.fT0spread)
90{
91 //
92 // Copy constructor
93 //
94
95
96 for(Int_t i=0;i<fNbins;i++) {
97 fEventTimeValues->SetAt(source.fEventTimeValues->GetAt(i),i);
98 fEventTimeRes->SetAt(source.fEventTimeRes->GetAt(i),i);
99 fNvalues->SetAt(source.fNvalues->GetAt(i),i);
100 }
101
102}
103//--------------------------------------------------------------------------
104AliTOFHeader &AliTOFHeader::operator=(const AliTOFHeader &source){
105 //
106 // assignment operator
107 //
108 if(&source != this){
109 TObject::operator=(source);
110
111 fDefaultEventTimeValue=source.fDefaultEventTimeValue;
112 fDefaultEventTimeRes=source.fDefaultEventTimeRes;
113 fNbins=source.fNbins;
114 fEventTimeValues=new TArrayF(fNbins);
115 fEventTimeRes=new TArrayF(fNbins);
116 fNvalues=new TArrayI(fNbins);
117 fTOFtimeResolution=source.fTOFtimeResolution;
118 fT0spread=source.fT0spread;
119 for(Int_t i=0;i<fNbins;i++) {
120 fEventTimeValues->SetAt(source.fEventTimeValues->GetAt(i),i);
121 fEventTimeRes->SetAt(source.fEventTimeRes->GetAt(i),i);
122 fNvalues->SetAt(source.fNvalues->GetAt(i),i);
123 }
124 }
125 return *this;
126}
127//--------------------------------------------------------------------------
128void AliTOFHeader::Copy(TObject &obj) const {
129
130 // this overwrites the virtual TOBject::Copy()
131 // to allow run time copying without casting
132 // in AliESDEvent
133
134 if(this==&obj)return;
135 AliTOFHeader *robj = dynamic_cast<AliTOFHeader*>(&obj);
136 if(!robj)return; // not an AliTOFHeader
137 *robj = *this;
138
139}
140
141//--------------------------------------------------------------------------
142AliTOFHeader::~AliTOFHeader()
143{
144
145 fEventTimeValues->Reset();
146 fEventTimeRes->Reset();
147 fNvalues->Reset();
148
149 delete fEventTimeValues;
150 delete fEventTimeRes;
151 delete fNvalues;
152
153}
154
155//--------------------------------------------------------------------------
156void AliTOFHeader::SetNbins(Int_t nbins)
157{
158 //
159 //
160 //
161
162 fNbins=nbins;
163 fEventTimeValues->Set(nbins);
164 fEventTimeRes->Set(nbins);
165 fNvalues->Set(nbins);
166
167}
168//--------------------------------------------------------------------------
169void AliTOFHeader::SetEventTimeValues(TArrayF *arr)
170{
171 //
172 //
173 //
174
175 fNbins=arr->GetSize();
176 fEventTimeValues->Set(arr->GetSize());
177 for (Int_t ii=0; ii<arr->GetSize(); ii++)
178 fEventTimeValues->SetAt(arr->GetAt(ii),ii);
179
180}
181//--------------------------------------------------------------------------
182void AliTOFHeader::SetEventTimeRes(TArrayF *arr)
183{
184 //
185 //
186 //
187
188 fNbins=arr->GetSize();
189 fEventTimeRes->Set(arr->GetSize());
190 for (Int_t ii=0; ii<arr->GetSize(); ii++)
191 fEventTimeRes->SetAt(arr->GetAt(ii),ii);
192
193}
194//--------------------------------------------------------------------------
195void AliTOFHeader::SetNvalues(TArrayI *arr)
196{
197 //
198 //
199 //
200
201 fNbins=arr->GetSize();
202 fNvalues->Set(arr->GetSize());
203 for (Int_t ii=0; ii<arr->GetSize(); ii++)
204 fNvalues->SetAt(arr->GetAt(ii),ii);
205
206}