1 /***************************************************************************
5 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6 ***************************************************************************
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
9 * PicoEvents are last-step ultra-compressed "events" just containing
10 * bare information about the particles of interest. They have already
11 * gone through Event and Track cuts, so only Pair cuts are left.
12 * PicoEvents are *internal* to the code, and are stored in the
13 * Event-mixing buffers.
16 ***************************************************************************
19 * Revision 1.2 2007/05/03 09:42:29 akisiel
20 * Fixing Effective C++ warnings
22 * Revision 1.1.1.1 2007/04/25 15:38:41 panos
23 * Importing the HBT code dir
25 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
26 * First version on CVS
28 * Revision 1.4 2000/07/16 21:38:23 laue
29 * AliFemtoCoulomb.cxx AliFemtoSectoredAnalysis.cxx : updated for standalone version
30 * AliFemtoV0.cc AliFemtoV0.h : some cast to prevent compiling warnings
31 * AliFemtoParticle.cc AliFemtoParticle.h : pointers mTrack,mV0 initialized to 0
32 * AliFemtoIOBinary.cc : some printouts in #ifdef STHBTDEBUG
33 * AliFemtoEvent.cc : B-Field set to 0.25Tesla, we have to think about a better
36 * Revision 1.3 2000/06/01 20:40:13 laue
37 * AliFemtoIO.cc: updated for new V0s
38 * AliFemtoPicoEvent.cc: collections especially cleared
39 * franks1DHistoD.h, include changed from <stdio> to <cstdio>
40 * franks1DHistoD.cc, cout statement deleted
42 * Revision 1.2 2000/03/17 17:23:05 laue
43 * Roberts new three particle correlations implemented.
45 * Revision 1.1.1.1 1999/06/29 16:02:57 lisa
46 * Installation of AliFemtoMaker
48 **************************************************************************/
50 #include "AliFemtoPicoEvent.h"
53 AliFemtoPicoEvent::AliFemtoPicoEvent() :
54 fFirstParticleCollection(0),
55 fSecondParticleCollection(0),
56 fThirdParticleCollection(0)
58 fFirstParticleCollection = new AliFemtoParticleCollection;
59 fSecondParticleCollection = new AliFemtoParticleCollection;
60 fThirdParticleCollection = new AliFemtoParticleCollection;
63 AliFemtoPicoEvent::AliFemtoPicoEvent(const AliFemtoPicoEvent& aPicoEvent) :
64 fFirstParticleCollection(0),
65 fSecondParticleCollection(0),
66 fThirdParticleCollection(0)
68 AliFemtoParticleIterator iter;
70 fFirstParticleCollection = new AliFemtoParticleCollection;
71 if (aPicoEvent.fFirstParticleCollection) {
72 for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){
73 fFirstParticleCollection->push_back(*iter);
76 fSecondParticleCollection = new AliFemtoParticleCollection;
77 if (aPicoEvent.fSecondParticleCollection) {
78 for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){
79 fSecondParticleCollection->push_back(*iter);
82 fThirdParticleCollection = new AliFemtoParticleCollection;
83 if (aPicoEvent.fThirdParticleCollection) {
84 for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){
85 fThirdParticleCollection->push_back(*iter);
90 AliFemtoPicoEvent::~AliFemtoPicoEvent(){
91 AliFemtoParticleIterator iter;
93 if (fFirstParticleCollection){
94 for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){
97 fFirstParticleCollection->clear();
98 delete fFirstParticleCollection;
99 fFirstParticleCollection = 0;
102 if (fSecondParticleCollection){
103 for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){
106 fSecondParticleCollection->clear();
107 delete fSecondParticleCollection;
108 fSecondParticleCollection = 0;
111 if (fThirdParticleCollection){
112 if (fThirdParticleCollection->size() != 0 ) {
113 for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){
117 fThirdParticleCollection->clear();
118 delete fThirdParticleCollection;
119 fThirdParticleCollection = 0;
123 AliFemtoPicoEvent& AliFemtoPicoEvent::operator=(AliFemtoPicoEvent& aPicoEvent)
125 if (this == &aPicoEvent)
128 AliFemtoParticleIterator iter;
130 if (fFirstParticleCollection){
131 for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){
134 fFirstParticleCollection->clear();
135 delete fFirstParticleCollection;
136 fFirstParticleCollection = 0;
139 if (fSecondParticleCollection){
140 for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){
143 fSecondParticleCollection->clear();
144 delete fSecondParticleCollection;
145 fSecondParticleCollection = 0;
148 if (fThirdParticleCollection){
149 if (fThirdParticleCollection->size() != 0 ) {
150 for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){
154 fThirdParticleCollection->clear();
155 delete fThirdParticleCollection;
156 fThirdParticleCollection = 0;
159 fFirstParticleCollection = new AliFemtoParticleCollection;
160 if (aPicoEvent.fFirstParticleCollection) {
161 for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){
162 fFirstParticleCollection->push_back(*iter);
165 fSecondParticleCollection = new AliFemtoParticleCollection;
166 if (aPicoEvent.fSecondParticleCollection) {
167 for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){
168 fSecondParticleCollection->push_back(*iter);
171 fThirdParticleCollection = new AliFemtoParticleCollection;
172 if (aPicoEvent.fThirdParticleCollection) {
173 for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){
174 fThirdParticleCollection->push_back(*iter);