1 #ifndef ALIMUONSEGMENTATIONTRIGGERX_H
2 #define ALIMUONSEGMENTATIONTRIGGERX_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 #include "AliMUONSegmentationTrigger.h"
12 //----------------------------------------------
14 // Chamber segmentation virtual base class
16 class AliMUONSegmentationTriggerX :
17 public AliMUONSegmentationTrigger {
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 virtual void GetPadIxy(Float_t x, Float_t y, Float_t z, Int_t &ix, Int_t &iy)
24 {GetPadIxy(x, y, ix, iy);}
25 // Transform from real to pad coordinates
26 virtual void GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
27 virtual void GetPadCxy(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
28 {z=0; GetPadCxy(ix, iy, x , y);}
30 virtual void SetPadSize(Float_t dp1, Float_t dp2);
32 virtual Float_t Dpx(Int_t imodule);
33 virtual Float_t Dpy(Int_t imodule);
35 virtual void SetPad(Int_t ix, Int_t iy);
37 virtual void SetHit(Float_t xhit, Float_t yhit);
38 virtual void SetHit(Float_t xhit, Float_t yhit, Float_t zhit)
40 // Current integration parameters
41 virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& width);
42 // Current Pad during Integration
48 virtual Int_t ISector();
49 // calculate sector from pad coordinates
50 virtual Int_t Sector(Int_t ix, Int_t iy);
51 // Get next neighbours
52 virtual void Neighbours
53 (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[2], Int_t Ylist[2]);
57 virtual void Init(Int_t chamber);
59 ClassDef(AliMUONSegmentationTriggerX,1) //Segmentation class for trigger X
62 void IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
63 // Geometry Parameters
64 float fXofxsmin[126][64]; // x-min
65 float fXofxsmax[126][64]; // x-max
66 float fYofxsmin[126][64]; // y-min
67 float fYofxsmax[126][64]; // y-max
69 // Current pad during integration (cursor for disintegration)
70 Int_t fix; // pad coord. x
71 Int_t fiy; // pad coord. y
72 Float_t fx; // real coord. x
73 Float_t fy; // real ccord. y