]>
Commit | Line | Data |
---|---|---|
45eb0b7a | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoPicoEventRP - internal AliFemto representation of the event. // | |
4 | // Created for the sake of minimizing the used size. Multiple instances are // | |
5 | // stored in memory when several mixing bins are used. // | |
6 | // // | |
7 | //////////////////////////////////////////////////////////////////////////////// | |
8 | /*************************************************************************** | |
9 | * | |
10 | * $Id: AliFemtoPicoEventRP.cxx 21376 2007-10-12 14:57:18Z akisiel $ | |
11 | * | |
12 | * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu | |
13 | *************************************************************************** | |
14 | * | |
15 | * Description: part of STAR HBT Framework: AliFemtoMaker package | |
16 | * PicoEvents are last-step ultra-compressed "events" just containing | |
17 | * bare information about the particles of interest. They have already | |
18 | * gone through Event and Track cuts, so only Pair cuts are left. | |
19 | * PicoEvents are *internal* to the code, and are stored in the | |
20 | * Event-mixing buffers. | |
21 | * | |
22 | * | |
23 | *************************************************************************** | |
24 | * | |
25 | * $Log$ | |
26 | * Revision 1.1.2.1 2007/10/12 14:28:37 akisiel | |
27 | * New wave of cleanup and rule conformance | |
28 | * | |
29 | * Revision 1.1 2007/05/16 10:22:11 akisiel | |
30 | * Making the directory structure of AliFemto flat. All files go into one common directory | |
31 | * | |
32 | * Revision 1.2 2007/05/03 09:42:29 akisiel | |
33 | * Fixing Effective C++ warnings | |
34 | * | |
35 | * Revision 1.1.1.1 2007/04/25 15:38:41 panos | |
36 | * Importing the HBT code dir | |
37 | * | |
38 | * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki | |
39 | * First version on CVS | |
40 | * | |
41 | * Revision 1.4 2000/07/16 21:38:23 laue | |
42 | * AliFemtoCoulomb.cxx AliFemtoSectoredAnalysis.cxx : updated for standalone version | |
43 | * AliFemtoV0.cc AliFemtoV0.h : some cast to prevent compiling warnings | |
44 | * AliFemtoParticle.cc AliFemtoParticle.h : pointers mTrack,mV0 initialized to 0 | |
45 | * AliFemtoIOBinary.cc : some printouts in #ifdef STHBTDEBUG | |
46 | * AliFemtoEvent.cc : B-Field set to 0.25Tesla, we have to think about a better | |
47 | * solution | |
48 | * | |
49 | * Revision 1.3 2000/06/01 20:40:13 laue | |
50 | * AliFemtoIO.cc: updated for new V0s | |
51 | * AliFemtoPicoEventRP.cc: collections especially cleared | |
52 | * franks1DHistoD.h, include changed from <stdio> to <cstdio> | |
53 | * franks1DHistoD.cc, cout statement deleted | |
54 | * | |
55 | * Revision 1.2 2000/03/17 17:23:05 laue | |
56 | * Roberts new three particle correlations implemented. | |
57 | * | |
58 | * Revision 1.1.1.1 1999/06/29 16:02:57 lisa | |
59 | * Installation of AliFemtoMaker | |
60 | * | |
61 | **************************************************************************/ | |
62 | ||
63 | #include "AliFemtoPicoEventRP.h" | |
64 | #include "AliFemtoParticleCollection.h" | |
65 | #include "AliEventplane.h" | |
66 | ||
67 | //________________ | |
68 | AliFemtoPicoEventRP::AliFemtoPicoEventRP() : AliFemtoPicoEvent(), | |
69 | fFirstParticleCollection(0), | |
70 | fSecondParticleCollection(0), | |
71 | fThirdParticleCollection(0), | |
72 | fPicoEventplane(0) | |
73 | { | |
74 | // Default constructor | |
75 | fFirstParticleCollection = new AliFemtoParticleCollection; | |
76 | fSecondParticleCollection = new AliFemtoParticleCollection; | |
77 | fThirdParticleCollection = new AliFemtoParticleCollection; | |
78 | fPicoEventplane = new AliEventplane; | |
79 | } | |
80 | //_________________ | |
81 | AliFemtoPicoEventRP::AliFemtoPicoEventRP(const AliFemtoPicoEventRP& aPicoEvent) : AliFemtoPicoEvent(), | |
82 | fFirstParticleCollection(0), | |
83 | fSecondParticleCollection(0), | |
84 | fThirdParticleCollection(0), | |
85 | fPicoEventplane(0) | |
86 | { | |
87 | // Copy constructor | |
88 | AliFemtoParticleIterator iter; | |
89 | ||
90 | fFirstParticleCollection = new AliFemtoParticleCollection; | |
91 | if (aPicoEvent.fFirstParticleCollection) { | |
92 | for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){ | |
93 | fFirstParticleCollection->push_back(*iter); | |
94 | } | |
95 | } | |
96 | fSecondParticleCollection = new AliFemtoParticleCollection; | |
97 | if (aPicoEvent.fSecondParticleCollection) { | |
98 | for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){ | |
99 | fSecondParticleCollection->push_back(*iter); | |
100 | } | |
101 | } | |
102 | fThirdParticleCollection = new AliFemtoParticleCollection; | |
103 | if (aPicoEvent.fThirdParticleCollection) { | |
104 | for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){ | |
105 | fThirdParticleCollection->push_back(*iter); | |
106 | } | |
107 | } | |
108 | fPicoEventplane = aPicoEvent.fPicoEventplane; | |
109 | } | |
110 | //_________________ | |
111 | AliFemtoPicoEventRP::~AliFemtoPicoEventRP(){ | |
112 | // Destructor | |
113 | AliFemtoParticleIterator iter; | |
114 | ||
115 | if (fFirstParticleCollection){ | |
116 | for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){ | |
117 | delete *iter; | |
118 | } | |
119 | fFirstParticleCollection->clear(); | |
120 | delete fFirstParticleCollection; | |
121 | fFirstParticleCollection = 0; | |
122 | } | |
123 | ||
124 | if (fSecondParticleCollection){ | |
125 | for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){ | |
126 | delete *iter; | |
127 | } | |
128 | fSecondParticleCollection->clear(); | |
129 | delete fSecondParticleCollection; | |
130 | fSecondParticleCollection = 0; | |
131 | } | |
132 | ||
133 | if (fThirdParticleCollection){ | |
134 | if (fThirdParticleCollection->size() != 0 ) { | |
135 | for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){ | |
136 | delete *iter; | |
137 | } | |
138 | } | |
139 | fThirdParticleCollection->clear(); | |
140 | delete fThirdParticleCollection; | |
141 | fThirdParticleCollection = 0; | |
142 | } | |
143 | if (fPicoEventplane) { | |
144 | fPicoEventplane->Reset(); | |
145 | fPicoEventplane = 0; | |
146 | } | |
147 | } | |
148 | //_________________ | |
149 | AliFemtoPicoEventRP& AliFemtoPicoEventRP::operator=(const AliFemtoPicoEventRP& aPicoEvent) | |
150 | { | |
151 | // Assignment operator | |
152 | if (this == &aPicoEvent) | |
153 | return *this; | |
154 | ||
155 | AliFemtoParticleIterator iter; | |
156 | ||
157 | if (fFirstParticleCollection){ | |
158 | for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){ | |
159 | delete *iter; | |
160 | } | |
161 | fFirstParticleCollection->clear(); | |
162 | delete fFirstParticleCollection; | |
163 | fFirstParticleCollection = 0; | |
164 | } | |
165 | ||
166 | if (fSecondParticleCollection){ | |
167 | for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){ | |
168 | delete *iter; | |
169 | } | |
170 | fSecondParticleCollection->clear(); | |
171 | delete fSecondParticleCollection; | |
172 | fSecondParticleCollection = 0; | |
173 | } | |
174 | ||
175 | if (fThirdParticleCollection){ | |
176 | if (fThirdParticleCollection->size() != 0 ) { | |
177 | for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){ | |
178 | delete *iter; | |
179 | } | |
180 | } | |
181 | fThirdParticleCollection->clear(); | |
182 | delete fThirdParticleCollection; | |
183 | fThirdParticleCollection = 0; | |
184 | } | |
185 | ||
186 | fFirstParticleCollection = new AliFemtoParticleCollection; | |
187 | if (aPicoEvent.fFirstParticleCollection) { | |
188 | for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){ | |
189 | fFirstParticleCollection->push_back(*iter); | |
190 | } | |
191 | } | |
192 | fSecondParticleCollection = new AliFemtoParticleCollection; | |
193 | if (aPicoEvent.fSecondParticleCollection) { | |
194 | for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){ | |
195 | fSecondParticleCollection->push_back(*iter); | |
196 | } | |
197 | } | |
198 | fThirdParticleCollection = new AliFemtoParticleCollection; | |
199 | if (aPicoEvent.fThirdParticleCollection) { | |
200 | for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){ | |
201 | fThirdParticleCollection->push_back(*iter); | |
202 | } | |
203 | } | |
204 | ||
205 | return *this; | |
206 | } | |
207 |