]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSegmentationV02.h
cuts on Q out, side, long added
[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     AliMUONSegmentationV02(Int_t nsec);
20     
21     virtual ~AliMUONSegmentationV02(){}
22     //
23     // Pad size Dx*Dy 
24     virtual void SetPadSize(Float_t p1, Float_t p2);
25     //
26     // Get member data
27     // Pad size in x
28     virtual Float_t Dpx() const {return fDpy;}
29     // Pad size in y
30     virtual Float_t Dpy() const {return fDpx;}
31     // Pad size in x by Sector
32     virtual Float_t Dpx(Int_t isec) const;
33     // Pad size in y by Sector
34     virtual Float_t Dpy(Int_t isec) const;
35     // Max number of Pads in x
36     virtual Int_t   Npx()  const;
37      // max number of Pads in y
38     virtual Int_t   Npy()  const;
39     // calculate sector from pad coordinates
40     virtual Int_t   Sector(Int_t ix, Int_t iy);
41     virtual void Draw(const char *opt="") const {}
42     //
43     // Transform from pad (wire) to real coordinates and vice versa
44     // Transform from pad to real coordinates
45     virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x ,Float_t &y );
46     virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z) 
47         {z=fZ; GetPadC(ix, iy, x , y);}
48     // Transform from pad to real coordinates
49     virtual void    GetPadI(Float_t x ,Float_t y , Int_t &ix, Int_t &iy);
50     virtual void    GetPad(Float_t x, Float_t y , Float_t z, Int_t &ix, Int_t &iy) 
51         {GetPadI(x, y, ix, iy);}
52     // Set pad position
53     virtual void    SetPad(Int_t ix,Int_t iy);
54     // Stepper
55     virtual void    NextPad();
56     // Condition
57     virtual Int_t   MorePads();
58     // Get next neighbours 
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 
62     ClassDef(AliMUONSegmentationV02,1)  // Segmentation approximating circular zones with different pad size
63         };
64 #endif
65
66
67
68
69
70
71
72
73