]>
Commit | Line | Data |
---|---|---|
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 | ||
10 | namespace Reve { | |
11 | ||
12 | class ZTrans; | |
13 | ||
14 | class GridStepper : public TObject | |
15 | { | |
16 | Int_t *ls[3], *ns[3]; | |
17 | private: | |
18 | GridStepper(const GridStepper&); // Not implemented | |
19 | GridStepper& operator=(const GridStepper&); // Not implemented | |
20 | ||
21 | public: | |
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 |