3 #include "GridStepper.h"
8 //______________________________________________________________________
14 GridStepper::GridStepper(Int_t sm) : Mode(StepMode_e(sm))
19 ls[0] = &Nx; ls[1] = &Ny; ls[2] = &Nz;
20 ns[0] = &nx; ns[1] = &ny; ns[2] = &nz;
23 ls[0] = &Ny; ls[1] = &Nx; ls[2] = &Nz;
24 ns[0] = &ny; ns[1] = &nx; ns[2] = &nz;
27 ls[0] = &Nx; ls[1] = &Nz; ls[2] = &Ny;
28 ns[0] = &nx; ns[1] = &nz; ns[2] = &ny;
38 void GridStepper::Reset()
43 void GridStepper::Subtract(GridStepper& s)
45 Ox = -(s.Ox + s.nx*s.Dx);
46 Oy = -(s.Oy + s.ny*s.Dy);
47 Oz = -(s.Oz + s.nz*s.Dz);
49 /**************************************************************************/
51 bool GridStepper::Step()
54 if(*ns[0] >= *ls[0]) {
55 *ns[0] = 0; (*ns[1])++;
56 if(*ns[1] >= *ls[1]) {
57 *ns[1] = 0; (*ns[2])++;
58 if(*ns[2] >= *ls[2]) {
66 /**************************************************************************/
68 void GridStepper::GetPosition(Float_t* p)
70 p[0] = Ox + nx*Dx; p[1] = Oy + ny*Dy; p[2] = Oz + nz*Dz;
73 void GridStepper::SetTrans(ZTrans* mx)
75 mx->SetPos(Ox + nx*Dx, Oy + ny*Dy, Oz + nz*Dz);
78 void GridStepper::SetTransAdvance(ZTrans* mx)