Making online tracklets usable in offline reconstruction
[u/mrichter/AliRoot.git] / TRD / AliTRDPrfInfo.cxx
CommitLineData
e526983e 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: AliTRDPrfInfo.cxx 27946 2008-08-13 15:26:24Z cblume $ */
17
18///////////////////////////////////////////////////////////////////////////////
19// //
20// Calibration base class for a single ROC //
21// Contains one UShort_t value per pad //
22// However, values are set and get as float, there are stored internally as //
23// (UShort_t) value * 10000 //
24// //
25///////////////////////////////////////////////////////////////////////////////
26
27#include <iostream>
28#include <fstream>
29#include <string>
30#include <TStyle.h>
31
32#include "AliTRDPrfInfo.h"
33#include "TMath.h"
34#include "AliMathBase.h"
35#include "TLinearFitter.h"
36#include "TArrayI.h"
37#include "TH2F.h"
38#include "TH1F.h"
39#include "TArrayF.h"
40#include "TGraph2D.h"
41#include "TGraphDelaunay.h"
42#include "TList.h"
43
44#include "AliTRDCommonParam.h"
45#include "AliTRDpadPlane.h"
46#include "AliLog.h"
47
48ClassImp(AliTRDPrfInfo)
49
50//_____________________________________________________________________________
51AliTRDPrfInfo::AliTRDPrfInfo()
52 :TObject()
53 ,fSize(0)
54 ,fData(0)
55{
56 //
57 // Default constructor
58 //
59
60}
61
62//_____________________________________________________________________________
63AliTRDPrfInfo::AliTRDPrfInfo(Int_t n)
64 :TObject()
65 ,fSize(n)
66 ,fData(0)
67{
68 //
69 // Constructor that initializes a given size
70 //
71
72 fData = new UChar_t[n];
73 for(Int_t k = 0; k < fSize; k++){
74 fData[k] = 0;
75 }
76}
77//_____________________________________________________________________________
78AliTRDPrfInfo::AliTRDPrfInfo(const AliTRDPrfInfo &c)
79 :TObject(c)
80 ,fSize(c.fSize)
81 ,fData(0)
82{
83 //
84 // AliTRDPrfInfo copy constructor
85 //
86
87 Int_t iBin = 0;
88
89 fData = new UChar_t[fSize];
90 for (iBin = 0; iBin < fSize; iBin++) {
91 fData[iBin] = ((AliTRDPrfInfo &) c).fData[iBin];
92 }
93
94}
95//_____________________________________________________________________________
96AliTRDPrfInfo::~AliTRDPrfInfo()
97{
98 //
99 // AliTRDPrfInfo destructor
100 //
101
102 if (fData) {
103 delete [] fData;
104 fData = 0;
105 }
106
107}
108//_____________________________________________________________________________
109AliTRDPrfInfo &AliTRDPrfInfo::operator=(const AliTRDPrfInfo &c)
110{
111 //
112 // Assignment operator
113 //
114
115 if (this != &c) ((AliTRDPrfInfo &) c).Copy(*this);
116 return *this;
117
118}
119
120//_____________________________________________________________________________
121void AliTRDPrfInfo::Copy(TObject &c) const
122{
123 //
124 // Copy function
125 //
126
127 Int_t iBin = 0;
128
129 ((AliTRDPrfInfo &) c).fSize = fSize;
130
131 if (((AliTRDPrfInfo &) c).fData) delete [] ((AliTRDPrfInfo &) c).fData;
132 ((AliTRDPrfInfo &) c).fData = new UChar_t[fSize];
133 for (iBin = 0; iBin < fSize; iBin++) {
134 ((AliTRDPrfInfo &) c).fData[iBin] = fData[iBin];
135 }
136
137 TObject::Copy(c);
138
139}
140//_____________________________________________________________________________
141void AliTRDPrfInfo::SetSize(Int_t n)
142{
143 //
144 // Set the size
145 //
146
147 if(fData) delete [] fData;
148 fData = new UChar_t[n];
149
150 fSize = n;
151
152}