]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoPicoEvent.cxx
Add possibility to swich off creating hidden info
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoPicoEvent.cxx
1 /***************************************************************************
2  *
3  * $Id$
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
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.
14  *           
15  *
16  ***************************************************************************
17  *
18  * $Log$
19  * Revision 1.2  2007/05/03 09:42:29  akisiel
20  * Fixing Effective C++ warnings
21  *
22  * Revision 1.1.1.1  2007/04/25 15:38:41  panos
23  * Importing the HBT code dir
24  *
25  * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
26  * First version on CVS
27  *
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
34  *                 solution
35  *
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
41  *
42  * Revision 1.2  2000/03/17 17:23:05  laue
43  * Roberts new three particle correlations implemented.
44  *
45  * Revision 1.1.1.1  1999/06/29 16:02:57  lisa
46  * Installation of AliFemtoMaker
47  *
48  **************************************************************************/
49
50 #include "AliFemtoPicoEvent.h"
51
52 //________________
53 AliFemtoPicoEvent::AliFemtoPicoEvent() :
54   fFirstParticleCollection(0),
55   fSecondParticleCollection(0),
56   fThirdParticleCollection(0)
57 {
58   fFirstParticleCollection = new AliFemtoParticleCollection;
59   fSecondParticleCollection = new AliFemtoParticleCollection;
60   fThirdParticleCollection = new AliFemtoParticleCollection;
61 }
62 //_________________
63 AliFemtoPicoEvent::AliFemtoPicoEvent(const AliFemtoPicoEvent& aPicoEvent) :
64   fFirstParticleCollection(0),
65   fSecondParticleCollection(0),
66   fThirdParticleCollection(0)
67 {
68   AliFemtoParticleIterator iter;
69
70   fFirstParticleCollection = new AliFemtoParticleCollection;
71   if (aPicoEvent.fFirstParticleCollection) {
72     for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){
73       fFirstParticleCollection->push_back(*iter);
74     }
75   }
76   fSecondParticleCollection = new AliFemtoParticleCollection;
77   if (aPicoEvent.fSecondParticleCollection) {
78     for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){
79       fSecondParticleCollection->push_back(*iter);
80     }
81   }
82   fThirdParticleCollection = new AliFemtoParticleCollection;
83   if (aPicoEvent.fThirdParticleCollection) {
84     for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){
85       fThirdParticleCollection->push_back(*iter);
86     }
87   }
88 }
89 //_________________
90 AliFemtoPicoEvent::~AliFemtoPicoEvent(){
91   AliFemtoParticleIterator iter;
92   
93   if (fFirstParticleCollection){
94     for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){
95       delete *iter;
96     }
97     fFirstParticleCollection->clear();
98     delete fFirstParticleCollection;
99     fFirstParticleCollection = 0;
100   }
101   
102   if (fSecondParticleCollection){
103     for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){
104       delete *iter;
105     }
106     fSecondParticleCollection->clear();
107     delete fSecondParticleCollection;
108     fSecondParticleCollection = 0;
109   }
110
111   if (fThirdParticleCollection){
112     if (fThirdParticleCollection->size() != 0 ) {
113       for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){
114         delete *iter;
115       }
116     }
117     fThirdParticleCollection->clear();
118     delete fThirdParticleCollection;
119     fThirdParticleCollection = 0;
120   }
121 }
122 //_________________
123  AliFemtoPicoEvent& AliFemtoPicoEvent::operator=(AliFemtoPicoEvent& aPicoEvent) 
124 {
125   if (this == &aPicoEvent) 
126     return *this;
127
128   AliFemtoParticleIterator iter;
129    
130   if (fFirstParticleCollection){
131       for (iter=fFirstParticleCollection->begin();iter!=fFirstParticleCollection->end();iter++){
132         delete *iter;
133       }
134       fFirstParticleCollection->clear();
135       delete fFirstParticleCollection;
136       fFirstParticleCollection = 0;
137   }
138
139   if (fSecondParticleCollection){
140     for (iter=fSecondParticleCollection->begin();iter!=fSecondParticleCollection->end();iter++){
141       delete *iter;
142     }
143     fSecondParticleCollection->clear();
144     delete fSecondParticleCollection;
145     fSecondParticleCollection = 0;
146   }
147
148   if (fThirdParticleCollection){
149     if (fThirdParticleCollection->size() != 0 ) {
150       for (iter=fThirdParticleCollection->begin();iter!=fThirdParticleCollection->end();iter++){
151         delete *iter;
152       }
153     }
154     fThirdParticleCollection->clear();
155     delete fThirdParticleCollection;
156     fThirdParticleCollection = 0;
157   }
158
159   fFirstParticleCollection = new AliFemtoParticleCollection;
160   if (aPicoEvent.fFirstParticleCollection) {
161     for (iter=aPicoEvent.fFirstParticleCollection->begin();iter!=aPicoEvent.fFirstParticleCollection->end();iter++){
162       fFirstParticleCollection->push_back(*iter);
163     }
164   }
165   fSecondParticleCollection = new AliFemtoParticleCollection;
166   if (aPicoEvent.fSecondParticleCollection) {
167     for (iter=aPicoEvent.fSecondParticleCollection->begin();iter!=aPicoEvent.fSecondParticleCollection->end();iter++){
168       fSecondParticleCollection->push_back(*iter);
169     }
170   }
171   fThirdParticleCollection = new AliFemtoParticleCollection;
172   if (aPicoEvent.fThirdParticleCollection) {
173     for (iter=aPicoEvent.fThirdParticleCollection->begin();iter!=aPicoEvent.fThirdParticleCollection->end();iter++){
174       fThirdParticleCollection->push_back(*iter);
175     }
176   }
177
178   return *this;
179 }
180