Code from MUON-dev joined
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationV02.h
1 #ifndef ALIMUONSEGMENTATIONV02_H
2 #define ALIMUONSEGMENTATIONV02_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 /////////////////////////////////////////////////////
9 //  Segmentation and Response classes version 01   //
10 /////////////////////////////////////////////////////
11  
12
13 #include "AliMUONSegmentationV01.h"
14
15 class AliMUONSegmentationV02 :
16 public AliMUONSegmentationV01 {
17  public:
18     AliMUONSegmentationV02(){};
19     virtual ~AliMUONSegmentationV02(){}
20     //
21     // Pad size Dx*Dy 
22     virtual void SetPadSize(Float_t p1, Float_t p2);
23     //
24     // Get member data
25     // Pad size in x
26     virtual Float_t Dpx() {return fDpy;}
27     // Pad size in y
28     virtual Float_t Dpy() {return fDpx;}
29     // Pad size in x by Sector
30     virtual Float_t Dpx(Int_t isec);
31     // Pad size in y by Sector
32     virtual Float_t Dpy(Int_t isec);
33     // Max number of Pads in x
34     virtual Int_t   Npx();
35      // max number of Pads in y
36     virtual Int_t   Npy();
37     // calculate sector from pad coordinates
38     virtual Int_t   Sector(Int_t ix, Int_t iy);
39     //
40     // Transform from pad (wire) to real coordinates and vice versa
41     // Transform from pad to real coordinates
42     virtual void    GetPadCxy(Int_t   ix,Int_t   iy,Float_t &x ,Float_t &y );
43     // Transform from pad to real coordinates
44     virtual void    GetPadIxy(Float_t x ,Float_t y ,Int_t   &ix,Int_t   &iy);
45     // Set pad position
46     virtual void    SetPad(Int_t ix,Int_t iy);
47     // Stepper
48     virtual void    NextPad();
49     // Condition
50     virtual Int_t   MorePads();
51     // Get next neighbours 
52     virtual void Neighbours
53         (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]);
54     // Get next neighbours 
55     ClassDef(AliMUONSegmentationV02,1)  // Segmentation approximating circular zones with different pad size
56         };
57 #endif
58
59
60
61
62
63
64
65
66