]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliESDfriendTrack.cxx
Modification of the trigger fields in the event tag (Panos)
[u/mrichter/AliRoot.git] / STEER / AliESDfriendTrack.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 //               Implementation of the AliESDfriendTrack class
18 //  This class keeps complementary to the AliESDtrack information 
19 //      Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
20 //-------------------------------------------------------------------------
21 #include "AliTrackPointArray.h"
22 #include "AliESDfriendTrack.h"
23 #include "AliKalmanTrack.h"
24 #include "TObjArray.h"
25
26 ClassImp(AliESDfriendTrack)
27
28 AliESDfriendTrack::AliESDfriendTrack(): 
29 TObject(), 
30 f1P(0), 
31 fPoints(0),
32 fCalibContainer(0),
33 fITStrack(0),
34 fTRDtrack(0)
35 {
36   //
37   // Default constructor
38   //
39   Int_t i;
40   for (i=0; i<kMaxITScluster; i++) fITSindex[i]=-2;
41   for (i=0; i<kMaxTPCcluster; i++) fTPCindex[i]=-2;
42   for (i=0; i<kMaxTRDcluster; i++) fTRDindex[i]=-2;
43 }
44
45 AliESDfriendTrack::AliESDfriendTrack(const AliESDfriendTrack &t): 
46 TObject(t),
47 f1P(t.f1P),
48 fPoints(0),
49 fCalibContainer(0),
50 fITStrack(0),
51 fTRDtrack(0)
52 {
53   //
54   // Copy constructor
55   //
56   Int_t i;
57   for (i=0; i<kMaxITScluster; i++) fITSindex[i]=t.fITSindex[i];
58   for (i=0; i<kMaxTPCcluster; i++) fTPCindex[i]=t.fTPCindex[i];
59   for (i=0; i<kMaxTRDcluster; i++) fTRDindex[i]=t.fTRDindex[i];
60   if (t.fPoints) fPoints=new AliTrackPointArray(*t.fPoints);
61   if (t.fCalibContainer) fCalibContainer = new TObjArray(*(t.fCalibContainer));
62 }
63
64 AliESDfriendTrack::~AliESDfriendTrack() {
65   //
66   // Simple destructor
67   //
68    delete fPoints;
69    delete fCalibContainer;
70    delete fITStrack;
71    delete fTRDtrack;
72 }
73
74
75 void AliESDfriendTrack::AddCalibObject(TObject * calibObject){
76   //
77   // add calibration object to array -
78   // track is owner of the objects in the container 
79   //
80   if (!fCalibContainer) fCalibContainer = new TObjArray(5);
81   fCalibContainer->AddLast(calibObject);
82 }
83
84 TObject * AliESDfriendTrack::GetCalibObject(Int_t index){
85   //
86   //
87   //
88   if (!fCalibContainer) return 0;
89   if (index>=fCalibContainer->GetEntriesFast()) return 0;
90   return fCalibContainer->At(index);
91 }