]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSegmentationV02.h
6b9f16545d5871f1adabec198db24b16ce52292c
[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 02   //
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     virtual void    GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
44         {z=0; GetPadCxy(ix, iy, x , y);}
45     // Transform from pad to real coordinates
46     virtual void    GetPadIxy(Float_t x ,Float_t y , Int_t &ix, Int_t &iy);
47     virtual void    GetPadIxy(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy)
48         {GetPadIxy(x, y, ix, iy);}
49     // Set pad position
50     virtual void    SetPad(Int_t ix,Int_t iy);
51     // Stepper
52     virtual void    NextPad();
53     // Condition
54     virtual Int_t   MorePads();
55     // Get next neighbours 
56     virtual void Neighbours
57         (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]);
58     // Get next neighbours 
59     ClassDef(AliMUONSegmentationV02,1)  // Segmentation approximating circular zones with different pad size
60         };
61 #endif
62
63
64
65
66
67
68
69
70