]>
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: |
e9e4cdf2 | 18 | AliMUONSegmentationV02(){} |
19 | AliMUONSegmentationV02(Int_t nsec); | |
20 | ||
a9e2aefa | 21 | virtual ~AliMUONSegmentationV02(){} |
a897a37a | 22 | // |
a9e2aefa | 23 | // Pad size Dx*Dy |
24 | virtual void SetPadSize(Float_t p1, Float_t p2); | |
a897a37a | 25 | // |
26 | // Get member data | |
27 | // Pad size in x | |
c3eff6ad | 28 | virtual Float_t Dpx() const {return fDpy;} |
a897a37a | 29 | // Pad size in y |
c3eff6ad | 30 | virtual Float_t Dpy() const {return fDpx;} |
a897a37a | 31 | // Pad size in x by Sector |
c3eff6ad | 32 | virtual Float_t Dpx(Int_t isec) const; |
a897a37a | 33 | // Pad size in y by Sector |
c3eff6ad | 34 | virtual Float_t Dpy(Int_t isec) const; |
a897a37a | 35 | // Max number of Pads in x |
c3eff6ad | 36 | virtual Int_t Npx() const; |
a897a37a | 37 | // max number of Pads in y |
c3eff6ad | 38 | virtual Int_t Npy() const; |
a897a37a | 39 | // calculate sector from pad coordinates |
40 | virtual Int_t Sector(Int_t ix, Int_t iy); | |
c3eff6ad | 41 | virtual void Draw(const char *opt="") const {} |
a897a37a | 42 | // |
43 | // Transform from pad (wire) to real coordinates and vice versa | |
44 | // Transform from pad to real coordinates | |
a30a000f | 45 | virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x ,Float_t &y ); |
c3eff6ad | 46 | virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) |
3e1872ed | 47 | {z=fZ; GetPadC(ix, iy, x , y);} |
a897a37a | 48 | // Transform from pad to real coordinates |
a30a000f | 49 | virtual void GetPadI(Float_t x ,Float_t y , Int_t &ix, Int_t &iy); |
c3eff6ad | 50 | virtual void GetPad(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy) |
a30a000f | 51 | {GetPadI(x, y, ix, iy);} |
a9e2aefa | 52 | // Set pad position |
a897a37a | 53 | virtual void SetPad(Int_t ix,Int_t iy); |
54 | // Stepper | |
55 | virtual void NextPad(); | |
56 | // Condition | |
57 | virtual Int_t MorePads(); | |
a9e2aefa | 58 | // Get next neighbours |
a897a37a | 59 | virtual void Neighbours |
60 | (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]); | |
61 | // Get next neighbours | |
a9e2aefa | 62 | ClassDef(AliMUONSegmentationV02,1) // Segmentation approximating circular zones with different pad size |
a897a37a | 63 | }; |
64 | #endif | |
65 | ||
66 | ||
67 | ||
68 | ||
69 | ||
70 | ||
71 | ||
72 | ||
73 |