Line data Source code
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 : //
18 : // ESD Event with MUON+MFT muon tracks (AliMuonForwardTrack)
19 : //
20 : // Contact author: antonio.uras@cern.ch
21 : //
22 : //====================================================================================================================================================
23 :
24 : #include "AliESDEvent.h"
25 : #include "TClonesArray.h"
26 : #include "AliMuonForwardTrack.h"
27 : #include "AliESDEventMFT.h"
28 :
29 12 : ClassImp(AliESDEventMFT)
30 :
31 : //====================================================================================================================================================
32 :
33 : AliESDEventMFT::AliESDEventMFT():
34 0 : AliESDEvent(),
35 0 : fMuonForwardTracks(0x0)
36 0 : {
37 :
38 : // default constructor
39 0 : fMuonForwardTracks = new TClonesArray("AliMuonForwardTrack", 0);
40 0 : AddObject(fMuonForwardTracks);
41 :
42 0 : }
43 :
44 : //====================================================================================================================================================
45 :
46 : AliESDEventMFT::AliESDEventMFT(AliESDEvent &esdEvent):
47 0 : AliESDEvent(esdEvent),
48 0 : fMuonForwardTracks(0x0)
49 0 : {
50 :
51 0 : AliDebug(1, "building array of muon tracks");
52 0 : fMuonForwardTracks = new TClonesArray("AliMuonForwardTrack");
53 0 : AliDebug(1, "adding array of muon tracks to list");
54 0 : AddObject(fMuonForwardTracks);
55 0 : AliDebug(1, "event created!");
56 :
57 0 : }
58 :
59 : //====================================================================================================================================================
60 :
61 : AliESDEventMFT::AliESDEventMFT(const AliESDEventMFT &esdEventMFT):
62 0 : AliESDEvent(esdEventMFT),
63 0 : fMuonForwardTracks(NULL)
64 0 : {
65 :
66 : // copy constructor
67 0 : fMuonForwardTracks = new TClonesArray(*(esdEventMFT.fMuonForwardTracks));
68 0 : fMuonForwardTracks->SetOwner(kTRUE);
69 0 : AddObject(fMuonForwardTracks);
70 :
71 0 : }
72 :
73 : //====================================================================================================================================================
74 :
75 : AliESDEventMFT& AliESDEventMFT::operator=(const AliESDEventMFT &esdEventMFT) {
76 :
77 : // Asignment operator
78 :
79 : // check assignement to self
80 0 : if (this == &esdEventMFT) return *this;
81 :
82 : // base class assignement
83 0 : AliESDEvent::operator=(esdEventMFT);
84 :
85 : // clear memory
86 0 : Clear("");
87 :
88 0 : fMuonForwardTracks = new TClonesArray(*(esdEventMFT.fMuonForwardTracks));
89 0 : fMuonForwardTracks->SetOwner(kTRUE);
90 0 : AddObject(fMuonForwardTracks);
91 :
92 0 : return *this;
93 :
94 0 : }
95 :
96 : //====================================================================================================================================================
97 :
98 0 : AliESDEventMFT::~AliESDEventMFT() {
99 :
100 : // destructor
101 :
102 0 : delete fMuonForwardTracks;
103 :
104 0 : }
105 :
106 : //====================================================================================================================================================
107 :
108 : void AliESDEventMFT::AddMuonForwardTrack(const AliMuonForwardTrack *muonForwardTrack) {
109 :
110 0 : TClonesArray &myMuonForwardTracks = *fMuonForwardTracks;
111 0 : new (myMuonForwardTracks[fMuonForwardTracks->GetEntriesFast()]) AliMuonForwardTrack(*muonForwardTrack);
112 :
113 0 : }
114 :
115 : //====================================================================================================================================================
|