]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoPicoEventCollectionVectorHideAway.h
Merge branch 'master_patch'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoPicoEventCollectionVectorHideAway.h
CommitLineData
76ce4b5b 1///////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoPicoEventCollectionVectorHideAway: a helper class for //
4// managing many mixing buffers with up to three variables used for //
5// binning. //
6// //
7///////////////////////////////////////////////////////////////////////////
8
9#ifndef ALIFEMTOPICOEVENTCOLLECTIONVECTORHIDEAWAY_H
10#define ALIFEMTOPICOEVENTCOLLECTIONVECTORHIDEAWAY_H
11#include "AliFemtoPicoEvent.h"
12#include "AliFemtoPicoEventCollection.h"
13#include "AliFemtoPicoEventCollectionVector.h"
14#include <vector>
15#include <list>
16#include <float.h>
17#include <limits.h>
18
19#if !defined(ST_NO_NAMESPACES)
20using std::vector;
21using std::list;
22#endif
23
24class AliFemtoPicoEventCollectionVectorHideAway {
25public:
26 AliFemtoPicoEventCollectionVectorHideAway(int bx=1, double lx=-FLT_MAX, double ux=FLT_MAX,
27 int by=1, double ly=-FLT_MAX, double uy=FLT_MAX,
28 int bz=1, double lz=-FLT_MAX, double uz=FLT_MAX);
29 AliFemtoPicoEventCollectionVectorHideAway(const AliFemtoPicoEventCollectionVectorHideAway& aColl);
30 ~AliFemtoPicoEventCollectionVectorHideAway();
31 AliFemtoPicoEventCollectionVectorHideAway& operator=(const AliFemtoPicoEventCollectionVectorHideAway& aColl);
32
33 AliFemtoPicoEventCollection* PicoEventCollection(int bx, int by, int bz);
34 AliFemtoPicoEventCollection* PicoEventCollection(double x, double y=0, double z=0);
35 unsigned int GetBinXNumber(double x);
36 unsigned int GetBinYNumber(double y);
37 unsigned int GetBinZNumber(double z);
38private:
39 int fBinsTot; // Total number of bins
40 int fBinsx,fBinsy,fBinsz; // Number of bins on x, y, z axis
41 double fMinx,fMiny,fMinz; // Minima on x, y, z axis
42 double fMaxx,fMaxy,fMaxz; // Maxima on x, y, z axis
43 double fStepx,fStepy,fStepz; // Steps on x, y, z axis
44 AliFemtoPicoEventCollection* fCollection; // Pico event collection
45 AliFemtoPicoEventCollectionVector fCollectionVector; // Collection vector
46};
47
48#endif