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.1.1.1 2007/04/25 15:38:41 panos
14 * Importing the HBT code dir
16 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
17 * First version on CVS
19 * Revision 1.3 2002/11/01 20:45:53 magestro
20 * Fixed bug in 3rd dimension of event collection vector, probably never encountered
22 * Revision 1.2 2001/11/11 18:34:13 laue
23 * AliFemtoPicoEventCollectionVectorHideAway: updated for 3d grid
24 * AliFemtoVertexMultAnalysis: new
26 * Revision 1.1 2000/07/16 21:44:11 laue
27 * Collection and analysis for vertex dependent event mixing
30 **************************************************************************/
31 #include "Infrastructure/AliFemtoPicoEventCollectionVectorHideAway.h"
33 // -----------------------------------
34 AliFemtoPicoEventCollectionVectorHideAway::AliFemtoPicoEventCollectionVectorHideAway(int bx, double lx, double ux,
35 int by, double ly, double uy,
36 int bz, double lz, double uz):
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),
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;
51 //fCollectionVector = new AliFemtoPicoEventCollectionVector();
53 for ( int i=0; i<fBinsTot; i++) {
54 fCollection = new AliFemtoPicoEventCollection();
55 fCollectionVector.push_back(fCollection);
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];
68 // -----------------------------------
69 AliFemtoPicoEventCollection* AliFemtoPicoEventCollectionVectorHideAway::PicoEventCollection(double x, double y, double z) {
73 ix = (int)floor( (x-fMinx)/fStepx );
74 iy = (int)floor( (y-fMiny)/fStepy );
75 iz = (int)floor( (z-fMinz)/fStepz );
77 return PicoEventCollection( ix,iy,iz );
79 //___________________________________
80 AliFemtoPicoEventCollectionVectorHideAway::AliFemtoPicoEventCollectionVectorHideAway(const AliFemtoPicoEventCollectionVectorHideAway& aColl):
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),
90 fBinsTot = aColl.fBinsTot;
91 fBinsx = aColl.fBinsx;
92 fBinsy = aColl.fBinsy;
93 fBinsz = aColl.fBinsz;
100 fStepx = aColl.fStepx;
101 fStepy = aColl.fStepy;
102 fStepz = aColl.fStepz;
103 fCollection = aColl.fCollection;
105 fCollectionVector.clear();
106 for (int iter=0; aColl.fCollectionVector.size();iter++){
107 fCollectionVector.push_back(aColl.fCollectionVector[iter]);
110 //___________________________________
111 AliFemtoPicoEventCollectionVectorHideAway::~AliFemtoPicoEventCollectionVectorHideAway()
113 fCollectionVector.clear();
115 //___________________________________
116 AliFemtoPicoEventCollectionVectorHideAway& AliFemtoPicoEventCollectionVectorHideAway::operator=(const AliFemtoPicoEventCollectionVectorHideAway& aColl)
121 fBinsTot = aColl.fBinsTot;
122 fBinsx = aColl.fBinsx;
123 fBinsy = aColl.fBinsy;
124 fBinsz = aColl.fBinsz;
131 fStepx = aColl.fStepx;
132 fStepy = aColl.fStepy;
133 fStepz = aColl.fStepz;
134 fCollection = aColl.fCollection;
136 fCollectionVector.clear();
138 for (int iter=0; aColl.fCollectionVector.size();iter++){
139 fCollectionVector.push_back(aColl.fCollectionVector[iter]);