1 /***************************************************************************
5 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6 ***************************************************************************
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
10 ***************************************************************************
13 * Revision 1.2 2007/05/03 09:42:29 akisiel
14 * Fixing Effective C++ warnings
16 * Revision 1.1.1.1 2007/04/25 15:38:41 panos
17 * Importing the HBT code dir
19 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
20 * First version on CVS
22 * Revision 1.3 2002/11/01 20:45:53 magestro
23 * Fixed bug in 3rd dimension of event collection vector, probably never encountered
25 * Revision 1.2 2001/11/11 18:34:13 laue
26 * AliFemtoPicoEventCollectionVectorHideAway: updated for 3d grid
27 * AliFemtoVertexMultAnalysis: new
29 * Revision 1.1 2000/07/16 21:44:11 laue
30 * Collection and analysis for vertex dependent event mixing
33 **************************************************************************/
34 #include "AliFemtoPicoEventCollectionVectorHideAway.h"
36 // -----------------------------------
37 AliFemtoPicoEventCollectionVectorHideAway::AliFemtoPicoEventCollectionVectorHideAway(int bx, double lx, double ux,
38 int by, double ly, double uy,
39 int bz, double lz, double uz):
41 fBinsx(bx), fBinsy(by), fBinsz(bz),
42 fMinx(lx), fMiny(ly), fMinz(lz),
43 fMaxx(ux), fMaxy(uy), fMaxz(uz),
44 fStepx(0), fStepy(0), fStepz(0),
48 fBinsTot = fBinsx * fBinsy * fBinsz;
49 fStepx=0; fStepx = (fMaxx-fMinx)/fBinsx;
50 fStepy=0; fStepy = (fMaxy-fMiny)/fBinsy;
51 fStepz=0; fStepz = (fMaxz-fMinz)/fBinsz;
54 //fCollectionVector = new AliFemtoPicoEventCollectionVector();
56 for ( int i=0; i<fBinsTot; i++) {
57 fCollection = new AliFemtoPicoEventCollection();
58 fCollectionVector.push_back(fCollection);
61 // -----------------------------------
62 AliFemtoPicoEventCollection* AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(int ix, int iy, int iz) {
63 if ( ix<0 || ix >= fBinsx) return 0;
64 if ( iy<0 || iy >= fBinsy) return 0;
65 if ( iz<0 || iz >= fBinsz) return 0;
66 int bin = ix + iy*fBinsx + iz*fBinsy*fBinsx;
67 cout << " AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(...) - bin(ix,iy,iz): ";
68 cout << bin << "(" << ix <<"," << iy << "," << iz <<")" << endl;
69 return fCollectionVector[bin];
71 // -----------------------------------
72 AliFemtoPicoEventCollection* AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(double x, double y, double z) {
76 ix = (int)floor( (x-fMinx)/fStepx );
77 iy = (int)floor( (y-fMiny)/fStepy );
78 iz = (int)floor( (z-fMinz)/fStepz );
80 return PicoEventCollection( ix,iy,iz );
82 //___________________________________
83 AliFemtoPicoEventCollectionVectorHideAway::AliFemtoPicoEventCollectionVectorHideAway(const AliFemtoPicoEventCollectionVectorHideAway& aColl):
85 fBinsx(0), fBinsy(0), fBinsz(0),
86 fMinx(0), fMiny(0), fMinz(0),
87 fMaxx(0), fMaxy(0), fMaxz(0),
88 fStepx(0), fStepy(0), fStepz(0),
93 fBinsTot = aColl.fBinsTot;
94 fBinsx = aColl.fBinsx;
95 fBinsy = aColl.fBinsy;
96 fBinsz = aColl.fBinsz;
103 fStepx = aColl.fStepx;
104 fStepy = aColl.fStepy;
105 fStepz = aColl.fStepz;
106 fCollection = aColl.fCollection;
108 fCollectionVector.clear();
109 for (int iter=0; aColl.fCollectionVector.size();iter++){
110 fCollectionVector.push_back(aColl.fCollectionVector[iter]);
113 //___________________________________
114 AliFemtoPicoEventCollectionVectorHideAway::~AliFemtoPicoEventCollectionVectorHideAway()
116 fCollectionVector.clear();
118 //___________________________________
119 AliFemtoPicoEventCollectionVectorHideAway& AliFemtoPicoEventCollectionVectorHideAway::operator=(const AliFemtoPicoEventCollectionVectorHideAway& aColl)
124 fBinsTot = aColl.fBinsTot;
125 fBinsx = aColl.fBinsx;
126 fBinsy = aColl.fBinsy;
127 fBinsz = aColl.fBinsz;
134 fStepx = aColl.fStepx;
135 fStepy = aColl.fStepy;
136 fStepz = aColl.fStepz;
137 fCollection = aColl.fCollection;
139 fCollectionVector.clear();
141 for (int iter=0; aColl.fCollectionVector.size();iter++){
142 fCollectionVector.push_back(aColl.fCollectionVector[iter]);