1 #ifndef ALIMUONSEGMENTATIONTRIGGERY_H
2 #define ALIMUONSEGMENTATIONTRIGGERY_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 #include "AliMUONSegmentationTrigger.h"
12 //----------------------------------------------
14 // Chamber segmentation virtual base class
16 class AliMUONSegmentationTriggerY :
17 public AliMUONSegmentationTrigger {
19 AliMUONSegmentationTriggerY(){}
20 virtual ~AliMUONSegmentationTriggerY(){}
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 // Transform from real to pad coordinates
25 virtual void GetPadC(Int_t ix,Int_t iy,Float_t &x,Float_t &y);
26 virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
27 {z=0; GetPadC(ix, iy, x , y);}
29 virtual void SetPadSize(Float_t dp1, Float_t dp2);
30 // Strip size by Module
31 virtual Float_t Dpx(Int_t imodule) const;
32 virtual Float_t Dpy(Int_t imodule) const;
34 virtual void SetPad(Int_t ix, Int_t iy);
36 virtual void SetHit(Float_t xhit , Float_t yhit);
37 virtual void SetHit(Float_t xhit, Float_t yhit, Float_t zhit);
38 // Current integration parameters
39 virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& x4);
40 // Current Pad during Integration
46 virtual Int_t ISector();
47 // calculate sector from pad coordinates
48 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[10], Int_t Ylist[10]);
56 virtual void Init(Int_t chamber);
58 ClassDef(AliMUONSegmentationTriggerY,1) //Segmentation class for trigger X
60 void IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
62 // Geometry Parameters
63 float fXofysmin[126][16]; // x-min
64 float fXofysmax[126][16]; // x-max
65 float fYofysmin[126][16]; // y-min
66 float fYofysmax[126][16]; // y-max