]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/rec/AliHLTESDtrack.cxx
HLTcalo module
[u/mrichter/AliRoot.git] / HLT / rec / AliHLTESDtrack.cxx
1 // $Id$
2
3 //**************************************************************************
4 //* This file is property of and copyright by the ALICE HLT Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                         *
6 //*                                                                        *
7 //* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
8 //*                  for The ALICE HLT Project.                            *
9 //*                                                                        *
10 //* Permission to use, copy, modify and distribute this software and its   *
11 //* documentation strictly for non-commercial purposes is hereby granted   *
12 //* without fee, provided that the above copyright notice appears in all   *
13 //* copies and that both the copyright notice and this permission notice   *
14 //* appear in the supporting documentation. The authors make no claims     *
15 //* about the suitability of this software for any purpose. It is          *
16 //* provided "as is" without express or implied warranty.                  *
17 //**************************************************************************
18
19 /// @file   AliHLTESDtrack.cxx
20 /// @author Matthias Richter
21 /// @date   2010-10-29
22 /// @brief  An AliESDtrack child class doing the conversion between 
23 ///         AliHLTESDOptTrack and AliESDtrack
24 /// @note   
25
26 #include "AliHLTESDtrack.h"
27 #include "AliHLTOnlineESDtrack.h"
28 #include "AliESDtrack.h"
29 #include <cerrno>
30 #include <cstdio>
31 #include <cstdlib>
32 #include <iostream>
33
34 using namespace std;
35
36 /** ROOT macro for the implementation of ROOT specific class methods */
37 ClassImp(AliHLTESDtrack)
38
39 AliHLTESDtrack::AliHLTESDtrack()
40   : AliESDtrack()
41 {
42   // see header file for class documentation
43   // or
44   // refer to README to build package
45   // or
46   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
47
48 }
49
50 AliHLTESDtrack::AliHLTESDtrack(const AliHLTESDtrack& t)
51   : AliESDtrack(t)
52 {
53   // copy constructor
54 }
55
56 AliHLTESDtrack::~AliHLTESDtrack()
57 {
58   // destructor
59 }
60
61 AliHLTESDtrack& AliHLTESDtrack::operator=(const AliHLTESDtrack& t)
62 {
63   // assignment operator
64   if (this==&t) return *this;
65
66   AliExternalTrackParam::operator=(t);
67
68   return *this;
69 }
70
71 AliHLTESDtrack& AliHLTESDtrack::operator=(const AliHLTOnlineESDtrack& t)
72 {
73   // assignment operator from AliESDtrack
74
75   AliHLTOnlineESDtrack::CopyInternalParam(fCp, t.GetConstrainedParam());
76   AliHLTOnlineESDtrack::CopyInternalParam(fIp, t.GetInnerParam());
77   AliHLTOnlineESDtrack::CopyInternalParam(fTPCInner, t.GetTPCInnerParam());
78   AliHLTOnlineESDtrack::CopyInternalParam(fOp, t.GetOuterParam());
79
80   fFlags=t.GetStatus();
81   fID=t.GetID();
82   fLabel=t.GetLabel();
83   fITSLabel=t.GetITSLabel();
84   fTPCLabel=t.GetTPCLabel();
85   fTRDLabel=t.GetTRDLabel();
86   fTrackLength=t.GetIntegratedLength();
87
88   Float_t p[2]; Float_t cov[3];
89
90   // copy impact parameters for TPC
91   t.GetImpactParametersTPC(p, cov);
92   fdTPC=p[0]; fzTPC=p[1]; fCddTPC=cov[0]; fCdzTPC=cov[1]; fCzzTPC=cov[2];
93   fCchi2TPC=t.GetConstrainedChi2TPC();
94
95   // copy impact parameters
96   t.GetImpactParameters(p, cov);
97   fD=p[0]; fZ=p[1]; fCdd=cov[0]; fCdz=cov[1]; fCzz=cov[2];
98   fCchi2=t.GetConstrainedChi2();
99
100   fITSchi2=t.GetITSchi2();
101   fTPCchi2=t.GetTPCchi2();
102   fTPCchi2Iter1=t.GetTPCchi2Iter1();
103   fTPCncls=t.GetTPCNcls();
104   fTPCnclsF=t.GetTPCNclsF();
105   fTPCnclsIter1=t.GetTPCNclsIter1();
106   fTPCnclsFIter1=t.GetTPCNclsFIter1();
107   fITSncls=t.GetITSNcls();
108   fITSClusterMap=t.GetITSClusterMap();
109   fTRDncls=t.GetTRDncls();
110   fTRDncls0=t.GetTRDncls0();
111
112   return *this;
113 }