08a3d095a7a0d6a0c60501a66224f99fa28a43a9
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationTriggerX.h
1 #ifndef ALIMUONSEGMENTATIONTRIGGERX_H
2 #define ALIMUONSEGMENTATIONTRIGGERX_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include "AliMUONSegmentationTrigger.h"
10
11 class AliMUONChamber;
12 //----------------------------------------------
13 //
14 // Chamber segmentation virtual base class
15 //
16 class AliMUONSegmentationTriggerX :
17 public AliMUONSegmentationTrigger {
18  public:
19   AliMUONSegmentationTriggerX(){}
20   virtual ~AliMUONSegmentationTriggerX(){}
21   // Transform from pad to real coordinates
22   virtual void    GetPadIxy(Float_t x,Float_t y,Int_t &ix,Int_t &iy);
23   // Transform from real to pad coordinates
24   virtual void    GetPadCxy(Int_t ix,Int_t iy,Float_t &x,Float_t &y);
25   // Pad size Dx*Dy 
26   virtual void SetPadSize(Float_t dp1, Float_t dp2);
27   // Strip size 
28   virtual Float_t Dpx(Int_t imodule);
29   virtual Float_t Dpy(Int_t imodule);
30   // Set pad position
31   virtual void     SetPad(Int_t ix, Int_t iy);
32   // Set hit position
33   virtual void     SetHit(Float_t xhit, Float_t yhit);
34   // Current integration parameters
35   virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& width);
36   // Current Pad during Integration
37   // x-coordinate
38   virtual Int_t  Ix();
39   // y-coordinate
40   virtual Int_t  Iy();
41   // Sector
42   virtual Int_t ISector();
43   // calculate sector from pad coordinates
44   virtual Int_t Sector(Int_t ix, Int_t iy);
45   // Get next neighbours 
46   virtual void Neighbours
47     (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[2], Int_t Ylist[2]);
48   
49   //
50   // Initialisation
51   virtual void Init(AliMUONChamber* chamber);    
52   
53   ClassDef(AliMUONSegmentationTriggerX,1) //Segmentation class for trigger X
54     
55   protected:
56    void  IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
57 // Geometry Parameters
58   float fXofxsmin[126][64];    // x-min
59   float fXofxsmax[126][64];    // x-max
60   float fYofxsmin[126][64];    // y-min
61   float fYofxsmax[126][64];    // y-max
62
63 // Current pad during integration (cursor for disintegration)
64   Int_t fix;  // pad coord.  x 
65   Int_t fiy;  // pad coord.  y 
66   Float_t fx; // real coord. x
67   Float_t fy; // real ccord. y
68
69 };
70 #endif
71
72
73