]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/Infrastructure/AliFemtoPicoEventCollectionVectorHideAway.cxx
Fixing Effective C++ warnings
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Infrastructure / AliFemtoPicoEventCollectionVectorHideAway.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  *
10  ***************************************************************************
11  *
12  * $Log$
13  * Revision 1.1.1.1  2007/04/25 15:38:41  panos
14  * Importing the HBT code dir
15  *
16  * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
17  * First version on CVS
18  *
19  * Revision 1.3  2002/11/01 20:45:53  magestro
20  * Fixed bug in 3rd dimension of event collection vector, probably never encountered
21  *
22  * Revision 1.2  2001/11/11 18:34:13  laue
23  * AliFemtoPicoEventCollectionVectorHideAway: updated for 3d grid
24  * AliFemtoVertexMultAnalysis: new
25  *
26  * Revision 1.1  2000/07/16 21:44:11  laue
27  * Collection and analysis for vertex dependent event mixing
28  *
29  *
30  **************************************************************************/
31 #include "Infrastructure/AliFemtoPicoEventCollectionVectorHideAway.h"
32
33 // -----------------------------------
34 AliFemtoPicoEventCollectionVectorHideAway::AliFemtoPicoEventCollectionVectorHideAway(int bx, double lx, double ux,
35                                                                                      int by, double ly, double uy,
36                                                                                      int bz, double lz, double uz):
37   fBinsTot(0),
38   fBinsx(bx), fBinsy(by), fBinsz(bz),
39   fMinx(lx),  fMiny(ly),  fMinz(lz),
40   fMaxx(ux),  fMaxy(uy),  fMaxz(uz),
41   fStepx(0),  fStepy(0),  fStepz(0),
42   fCollection(0),
43   fCollectionVector(0)
44 {
45   fBinsTot = fBinsx * fBinsy * fBinsz;
46   fStepx=0;  fStepx = (fMaxx-fMinx)/fBinsx;
47   fStepy=0;  fStepy = (fMaxy-fMiny)/fBinsy;
48   fStepz=0;  fStepz = (fMaxz-fMinz)/fBinsz;
49   
50   
51   //fCollectionVector = new AliFemtoPicoEventCollectionVector();
52   fCollection = 0;
53   for ( int i=0; i<fBinsTot; i++) {
54     fCollection = new AliFemtoPicoEventCollection();
55     fCollectionVector.push_back(fCollection);
56   }
57 }
58 // -----------------------------------
59 AliFemtoPicoEventCollection* AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(int ix, int iy, int iz) { 
60   if ( ix<0 || ix >= fBinsx) return 0;
61   if ( iy<0 || iy >= fBinsy) return 0;
62   if ( iz<0 || iz >= fBinsz) return 0;
63   int bin = ix + iy*fBinsx + iz*fBinsy*fBinsx; 
64   cout << " AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(...) - bin(ix,iy,iz): ";
65   cout << bin << "(" << ix <<"," << iy << "," << iz <<")" << endl;
66   return fCollectionVector[bin]; 
67 }
68 // -----------------------------------
69 AliFemtoPicoEventCollection* AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(double x, double y, double z) {
70   int ix,iy,iz;
71   ix=0;iy=0;iz=0;
72
73   ix = (int)floor( (x-fMinx)/fStepx );
74   iy = (int)floor( (y-fMiny)/fStepy );
75   iz = (int)floor( (z-fMinz)/fStepz );
76
77   return PicoEventCollection( ix,iy,iz );
78 }
79 //___________________________________
80 AliFemtoPicoEventCollectionVectorHideAway::AliFemtoPicoEventCollectionVectorHideAway(const AliFemtoPicoEventCollectionVectorHideAway& aColl):
81   fBinsTot(0),
82   fBinsx(0), fBinsy(0), fBinsz(0),
83   fMinx(0),  fMiny(0),  fMinz(0),
84   fMaxx(0),  fMaxy(0),  fMaxz(0),
85   fStepx(0),  fStepy(0),  fStepz(0),
86   fCollection(0),
87   fCollectionVector(0)
88 {
89
90   fBinsTot = aColl.fBinsTot;
91   fBinsx = aColl.fBinsx;
92   fBinsy = aColl.fBinsy;
93   fBinsz = aColl.fBinsz;
94   fMinx  = aColl.fMinx;
95   fMiny  = aColl.fMiny;
96   fMinz  = aColl.fMinz;
97   fMaxx  = aColl.fMaxx;
98   fMaxy  = aColl.fMaxy;
99   fMaxz  = aColl.fMaxz;
100   fStepx = aColl.fStepx;
101   fStepy = aColl.fStepy;
102   fStepz = aColl.fStepz;
103   fCollection = aColl.fCollection;
104
105   fCollectionVector.clear();
106   for (int iter=0; aColl.fCollectionVector.size();iter++){
107     fCollectionVector.push_back(aColl.fCollectionVector[iter]);
108   }
109 }
110 //___________________________________
111 AliFemtoPicoEventCollectionVectorHideAway::~AliFemtoPicoEventCollectionVectorHideAway()
112 {
113   fCollectionVector.clear();
114 }
115 //___________________________________
116 AliFemtoPicoEventCollectionVectorHideAway& AliFemtoPicoEventCollectionVectorHideAway::operator=(const AliFemtoPicoEventCollectionVectorHideAway& aColl)
117 {
118   if (this == &aColl)
119     return *this;
120
121   fBinsTot = aColl.fBinsTot;
122   fBinsx = aColl.fBinsx;
123   fBinsy = aColl.fBinsy;
124   fBinsz = aColl.fBinsz;
125   fMinx  = aColl.fMinx;
126   fMiny  = aColl.fMiny;
127   fMinz  = aColl.fMinz;
128   fMaxx  = aColl.fMaxx;
129   fMaxy  = aColl.fMaxy;
130   fMaxz  = aColl.fMaxz;
131   fStepx = aColl.fStepx;
132   fStepy = aColl.fStepy;
133   fStepz = aColl.fStepz;
134   fCollection = aColl.fCollection;
135
136   fCollectionVector.clear();
137
138   for (int iter=0; aColl.fCollectionVector.size();iter++){
139     fCollectionVector.push_back(aColl.fCollectionVector[iter]);
140   }
141
142   return *this;
143 }