]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Reve/GridStepper.h
From Cvetan: new macro to load ITS clusters.
[u/mrichter/AliRoot.git] / EVE / Reve / GridStepper.h
CommitLineData
10432ba7 1// $Header$
2
3#ifndef REVE_GridStepper_H
4#define REVE_GridStepper_H
5
6#include <Reve/Reve.h>
7
8#include <TObject.h>
9
10namespace Reve {
11
12class ZTrans;
13
14class GridStepper : public TObject
15{
16 Int_t *ls[3], *ns[3];
17private:
18 GridStepper(const GridStepper&); // Not implemented
19 GridStepper& operator=(const GridStepper&); // Not implemented
20
21public:
22 enum StepMode_e { SM_XYZ, SM_YXZ, SM_XZY };
23 StepMode_e Mode;
24
25 Int_t nx, ny, nz;
26 Int_t Nx, Ny, Nz;
27 Float_t Dx, Dy, Dz;
28 Float_t Ox, Oy, Oz;
29
30 GridStepper(Int_t sm=SM_XYZ);
31 virtual ~GridStepper() {}
32
33 void Reset();
34 void Subtract(GridStepper& s);
35 void SetNs(Int_t nx, Int_t ny, Int_t nz=1)
36 { Nx = nx; Ny = ny; Nz = nz; }
37 void SetDs(Float_t dx, Float_t dy, Float_t dz=0)
38 { Dx = dx; Dy = dy; Dz = dz; }
39
40 bool Step();
41
42 void GetPosition(Float_t* p);
43
44 void SetTrans(ZTrans* mx);
45 void SetTransAdvance(ZTrans* mx);
46
47 ClassDef(GridStepper, 1);
48}; // end class GridStepper
49
50} // namespace Reve
51
52#endif