]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDfriend.cxx
make it compile
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDfriend.cxx
CommitLineData
1d99986f 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 AliESDfriend class
18// This class contains some additional to the ESD information like
19// the clusters associated to tracks.
20// Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
21//-------------------------------------------------------------------------
22
23#include "AliESDfriend.h"
73df58ab 24#include "AliESDVZEROfriend.h"
25#include "AliESDTZEROfriend.h"
1d99986f 26
27ClassImp(AliESDfriend)
28
d8a155ff 29AliESDfriend::AliESDfriend(): TObject(), fTracks("AliESDfriendTrack",1),
73df58ab 30 fESDVZEROfriend(NULL),
5576d489 31 fESDTZEROfriend(NULL),
32 fNclustersTPC(),
33 fNclustersTPCused()
1d99986f 34{
35 //
36 // Default constructor
37 //
5576d489 38 for (Int_t i=0;i<72;i++)
39 {
40 fNclustersTPC[i]=0;
41 fNclustersTPCused[i]=0;
42 }
1d99986f 43}
44
b7ec049a 45AliESDfriend::AliESDfriend(const AliESDfriend &f) :
46 TObject(f),
1f516476 47 AliVfriendEvent(),
b7ec049a 48 fTracks(f.fTracks),
73df58ab 49 fESDVZEROfriend(f.fESDVZEROfriend ? new AliESDVZEROfriend(*f.fESDVZEROfriend) : NULL),
5576d489 50 fESDTZEROfriend(f.fESDTZEROfriend ? new AliESDTZEROfriend(*f.fESDTZEROfriend) : NULL),
51 fNclustersTPC(),
52 fNclustersTPCused()
1d99986f 53{
54 //
55 // Copy constructor
56 //
5576d489 57 memcpy(fNclustersTPC,f.fNclustersTPC,sizeof(fNclustersTPC));
58 memcpy(fNclustersTPCused,f.fNclustersTPCused,sizeof(fNclustersTPCused));
59
1d99986f 60}
61
c43af351 62AliESDfriend& AliESDfriend::operator=(const AliESDfriend& esd)
63{
64
65 // Assignment operator
66 if(&esd == this) return *this;
67 TObject::operator=(esd);
68 fTracks = esd.fTracks;
f66f9a4a 69
253bd418 70 delete fESDVZEROfriend;
71 fESDVZEROfriend = new AliESDVZEROfriend(*esd.fESDVZEROfriend);
c43af351 72
253bd418 73 delete fESDTZEROfriend;
74 fESDTZEROfriend = new AliESDTZEROfriend(*esd.fESDTZEROfriend);
73df58ab 75
5576d489 76 memcpy(fNclustersTPC,esd.fNclustersTPC,sizeof(fNclustersTPC));
77 memcpy(fNclustersTPCused,esd.fNclustersTPCused,sizeof(fNclustersTPCused));
73df58ab 78
79
c43af351 80 return *this;
81}
82
83
84
1d99986f 85AliESDfriend::~AliESDfriend() {
86 //
87 // Destructor
88 //
ddfbc51a 89 fTracks.Delete();
90 delete fESDVZEROfriend;
91 delete fESDTZEROfriend;
b090e6a3 92}
93
73df58ab 94
d9880d92 95void AliESDfriend::Reset()
96{
97 //
98 // Reset friend information
99 //
100 fTracks.Delete();
101 for (Int_t i=0;i<72;i++)
102 {
103 fNclustersTPC[i]=0;
104 fNclustersTPCused[i]=0;
105 }
106 delete fESDVZEROfriend; fESDVZEROfriend=0;
107 delete fESDTZEROfriend; fESDTZEROfriend=0;
108}
109
73df58ab 110
b090e6a3 111void AliESDfriend::SetVZEROfriend(AliESDVZEROfriend * obj)
112{
113 //
114 // Set the VZERO friend data object
115 // (complete raw data)
116 if (!fESDVZEROfriend) fESDVZEROfriend = new AliESDVZEROfriend();
117 if (obj) *fESDVZEROfriend = *obj;
1d99986f 118}
73df58ab 119void AliESDfriend::SetTZEROfriend(AliESDTZEROfriend * obj)
120{
121 //
122 // Set the TZERO friend data object
123 // (complete raw data)
124 if (!fESDTZEROfriend) fESDTZEROfriend = new AliESDTZEROfriend();
125 if (obj) *fESDTZEROfriend = *obj;
126}