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 */
8 /////////////////////////////////////////////////////
9 // Segmentation and Response classes version 02 //
10 /////////////////////////////////////////////////////
13 #include "AliMUONSegmentationV01.h"
15 class AliMUONSegmentationV02 :
16 public AliMUONSegmentationV01 {
18 AliMUONSegmentationV02(){};
19 virtual ~AliMUONSegmentationV02(){}
22 virtual void SetPadSize(Float_t p1, Float_t p2);
26 virtual Float_t Dpx() {return fDpy;}
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
35 // max number of Pads in y
37 // calculate sector from pad coordinates
38 virtual Int_t Sector(Int_t ix, Int_t iy);
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);}
50 virtual void SetPad(Int_t ix,Int_t iy);
52 virtual void NextPad();
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