]>
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$ */ | |
30178c30 | 7 | // Revision of includes 07/05/2004 |
3da30618 | 8 | |
a897a37a | 9 | ///////////////////////////////////////////////////// |
a1001283 | 10 | // Segmentation and Response classes version 02 // |
a897a37a | 11 | ///////////////////////////////////////////////////// |
12 | ||
a9e2aefa | 13 | |
14 | #include "AliMUONSegmentationV01.h" | |
15 | ||
30178c30 | 16 | class AliMUONSegmentationV02 : public AliMUONSegmentationV01 |
17 | { | |
a897a37a | 18 | public: |
30178c30 | 19 | AliMUONSegmentationV02(); |
e9e4cdf2 | 20 | AliMUONSegmentationV02(Int_t nsec); |
21 | ||
a9e2aefa | 22 | virtual ~AliMUONSegmentationV02(){} |
a897a37a | 23 | // |
a9e2aefa | 24 | // Pad size Dx*Dy |
25 | virtual void SetPadSize(Float_t p1, Float_t p2); | |
a897a37a | 26 | // |
27 | // Get member data | |
28 | // Pad size in x | |
c3eff6ad | 29 | virtual Float_t Dpx() const {return fDpy;} |
a897a37a | 30 | // Pad size in y |
c3eff6ad | 31 | virtual Float_t Dpy() const {return fDpx;} |
a897a37a | 32 | // Pad size in x by Sector |
c3eff6ad | 33 | virtual Float_t Dpx(Int_t isec) const; |
a897a37a | 34 | // Pad size in y by Sector |
c3eff6ad | 35 | virtual Float_t Dpy(Int_t isec) const; |
a897a37a | 36 | // Max number of Pads in x |
c3eff6ad | 37 | virtual Int_t Npx() const; |
a897a37a | 38 | // max number of Pads in y |
c3eff6ad | 39 | virtual Int_t Npy() const; |
a897a37a | 40 | // calculate sector from pad coordinates |
41 | virtual Int_t Sector(Int_t ix, Int_t iy); | |
b1ad38fa | 42 | virtual void Draw(const char *opt="") const; |
a897a37a | 43 | // |
44 | // Transform from pad (wire) to real coordinates and vice versa | |
45 | // Transform from pad to real coordinates | |
a30a000f | 46 | virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x ,Float_t &y ); |
c3eff6ad | 47 | virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) |
3e1872ed | 48 | {z=fZ; GetPadC(ix, iy, x , y);} |
a897a37a | 49 | // Transform from pad to real coordinates |
a30a000f | 50 | virtual void GetPadI(Float_t x ,Float_t y , Int_t &ix, Int_t &iy); |
b1ad38fa | 51 | virtual void GetPad(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &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 |