Cleaning of the code :
[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    GetPadI(Float_t x, Float_t y, Int_t &ix, Int_t &iy);
23   virtual void    GetPadI(Float_t x, Float_t y, Float_t z, Int_t &ix, Int_t &iy)
24       {GetPadI(x, y, ix, iy);}
25   // Transform from real to pad coordinates
26   virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
27   virtual void    GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
28       {z=0; GetPadC(ix, iy, x , y);}
29
30   virtual void Draw(const char *opt="") {}
31
32   // Pad size Dx*Dy 
33   virtual void SetPadSize(Float_t dp1, Float_t dp2);
34   // Strip size 
35   virtual Float_t Dpx(Int_t imodule);
36   virtual Float_t Dpy(Int_t imodule);
37   // Set pad position
38   virtual void     SetPad(Int_t ix, Int_t iy);
39   // Set hit position
40   virtual void     SetHit(Float_t xhit, Float_t yhit);
41   virtual void     SetHit(Float_t xhit, Float_t yhit, Float_t zhit)
42       {SetHit(xhit, yhit);}
43   // Current integration parameters
44   virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& width);
45   // Current Pad during Integration
46   // x-coordinate
47   virtual Int_t  Ix();
48   // y-coordinate
49   virtual Int_t  Iy();
50   // Sector
51   virtual Int_t ISector();
52   // calculate sector from pad coordinates
53   virtual Int_t Sector(Int_t ix, Int_t iy);
54   // Get next neighbours 
55   virtual void Neighbours
56     (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[2], Int_t Ylist[2]);
57   
58   //
59   // Initialisation
60   virtual void Init(Int_t chamber);    
61   
62   ClassDef(AliMUONSegmentationTriggerX,1) //Segmentation class for trigger X
63     
64   protected:
65    void  IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
66 // Geometry Parameters
67   float fXofxsmin[126][64];    // x-min
68   float fXofxsmax[126][64];    // x-max
69   float fYofxsmin[126][64];    // y-min
70   float fYofxsmax[126][64];    // y-max
71
72 // Current pad during integration (cursor for disintegration)
73   Int_t fIx;  // pad coord.  x 
74   Int_t fIy;  // pad coord.  y 
75   Float_t fX; // real coord. x
76   Float_t fY; // real ccord. y
77
78 };
79 #endif
80
81
82