]>
Commit | Line | Data |
---|---|---|
a9e2aefa | 1 | #ifndef ALIMUONSEGMENTATIONV02_H |
2 | #define ALIMUONSEGMENTATIONV02_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
a897a37a | 8 | ///////////////////////////////////////////////////// |
a1001283 | 9 | // Segmentation and Response classes version 02 // |
a897a37a | 10 | ///////////////////////////////////////////////////// |
11 | ||
a9e2aefa | 12 | |
13 | #include "AliMUONSegmentationV01.h" | |
14 | ||
15 | class AliMUONSegmentationV02 : | |
16 | public AliMUONSegmentationV01 { | |
a897a37a | 17 | public: |
a9e2aefa | 18 | AliMUONSegmentationV02(){}; |
19 | virtual ~AliMUONSegmentationV02(){} | |
a897a37a | 20 | // |
a9e2aefa | 21 | // Pad size Dx*Dy |
22 | virtual void SetPadSize(Float_t p1, Float_t p2); | |
a897a37a | 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); | |
ef42d733 | 39 | virtual void Draw(const char *opt="") {} |
a897a37a | 40 | // |
41 | // Transform from pad (wire) to real coordinates and vice versa | |
42 | // Transform from pad to real coordinates | |
a30a000f | 43 | virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x ,Float_t &y ); |
44 | virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) | |
45 | {z=0; GetPadC(ix, iy, x , y);} | |
a897a37a | 46 | // Transform from pad to real coordinates |
a30a000f | 47 | virtual void GetPadI(Float_t x ,Float_t y , Int_t &ix, Int_t &iy); |
48 | virtual void GetPad(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy) | |
49 | {GetPadI(x, y, ix, iy);} | |
a9e2aefa | 50 | // Set pad position |
a897a37a | 51 | virtual void SetPad(Int_t ix,Int_t iy); |
52 | // Stepper | |
53 | virtual void NextPad(); | |
54 | // Condition | |
55 | virtual Int_t MorePads(); | |
a9e2aefa | 56 | // Get next neighbours |
a897a37a | 57 | virtual void Neighbours |
58 | (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]); | |
59 | // Get next neighbours | |
a9e2aefa | 60 | ClassDef(AliMUONSegmentationV02,1) // Segmentation approximating circular zones with different pad size |
a897a37a | 61 | }; |
62 | #endif | |
63 | ||
64 | ||
65 | ||
66 | ||
67 | ||
68 | ||
69 | ||
70 | ||
71 |