Improved memory leaks in AliTOFtracker* classes: additional solution for bug #66136
[u/mrichter/AliRoot.git] / TOF / AliTOFcalibESD.cxx
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 /*
17 $Log$
18 Revision 1.5  2006/04/20 22:30:50  hristov
19 Coding conventions (Annalisa)
20
21 Revision 1.4  2006/04/05 08:35:38  hristov
22 Coding conventions (S.Arcelli, C.Zampolli)
23
24 Revision 1.3  2006/03/28 14:57:13  arcelli
25 updates to handle new V5 geometry & some re-arrangements
26
27 Revision 1.2  2006/02/13 17:22:26  arcelli
28 just Fixing Log info
29
30 Revision 1.1  2006/02/13 16:10:48  arcelli
31 Add classes for TOF Calibration (C.Zampolli)
32
33 author: Chiara Zampolli, zampolli@bo.infn.it
34 */  
35
36 ///////////////////////////////////////////////////////////////////////////////
37 //                                                                           //
38 // class for TOF calibration                                                 //
39 //                                                                           //
40 ///////////////////////////////////////////////////////////////////////////////
41
42 #include "AliTOFcalibESD.h"
43
44 class AliPID;
45
46 ClassImp(AliTOFcalibESD)
47
48 //________________________________________________________________
49 AliTOFcalibESD::AliTOFcalibESD():
50   fCombID(-1),
51   fTOFCalCh(-1),
52   fToT(0),
53   fIntLen(0),
54   fTOFtime(0),
55   fMo(0),
56   fTOFsignalND(0)
57 {
58   for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrTime[i] = 0;
59 }
60 //________________________________________________________________
61
62 AliTOFcalibESD::AliTOFcalibESD(const AliTOFcalibESD& UnCalib):
63   AliESDtrack(UnCalib),
64   fCombID(UnCalib.fCombID),
65   fTOFCalCh(UnCalib.fTOFCalCh),
66   fToT(UnCalib.fToT),
67   fIntLen(UnCalib.fIntLen),
68   fTOFtime(UnCalib.fTOFtime),
69   fMo(UnCalib.fMo),
70   fTOFsignalND(UnCalib.fTOFsignalND)
71 {
72   for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrTime[i] = UnCalib.fTrTime[i];
73   for (Int_t i = 0;i<15;i++) fExtCov[i] = UnCalib.fExtCov[i];
74 }
75 //________________________________________________________________
76
77 AliTOFcalibESD::~AliTOFcalibESD()
78 {
79 }
80 //________________________________________________________________
81
82 void AliTOFcalibESD::SetIntegratedTime(const Double_t *tracktime){
83   for (Int_t i=0;i<AliPID::kSPECIES;i++) fTrTime[i] = tracktime[i];
84 }
85 //________________________________________________________________
86
87 void AliTOFcalibESD::CopyFromAliESD(const AliESDtrack* track){
88   //copy ESD track info 
89   fMo = track->GetP();
90   fTOFtime = track->GetTOFsignal();
91   fToT = track->GetTOFsignalToT();
92   fTOFCalCh = track->GetTOFCalChannel();
93   fIntLen = track->GetIntegratedLength();
94   Double_t exptime[10]; 
95   track->GetIntegratedTimes(exptime);
96   for (Int_t i=0;i<AliPID::kSPECIES;i++) {
97     fTrTime[i] = exptime[i];
98   }
99   Double_t c[15];
100   track->GetExternalCovariance(c);
101   for (Int_t i = 0;i<15;i++){
102     fExtCov[i] = c[i];
103   }
104 }
105 //______________________________________________________________________
106
107 void AliTOFcalibESD::GetExternalCovariance(Double_t cov[15]) const {
108   for (Int_t i=0; i<15; i++) cov[i]=fExtCov[i];
109 }
110 //______________________________________________________________________
111
112 void AliTOFcalibESD::GetIntegratedTimes(Double_t exp[AliPID::kSPECIES]) const {
113   for (Int_t i=0; i<AliPID::kSPECIES; i++) exp[i]=fTrTime[i];
114 }
115 //______________________________________________________________________
116
117 Int_t AliTOFcalibESD::Compare(const TObject* uncobj) const{
118   //To order in momentum
119   Double_t c1[15]; 
120   this->GetExternalCovariance(c1);
121   Double_t c2[15]; 
122   ((AliTOFcalibESD*)uncobj)->GetExternalCovariance(c2);
123   if (c1[0]*c1[2] <c2[0]*c2[2]) return -1;
124   if (c1[0]*c1[2]>c2[0]*c2[2]) return 1;
125   return 0;
126 }
127
128