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 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);
26 virtual void SetPadSize(Float_t dp1, Float_t dp2);
27 // Strip size by Module
28 virtual Float_t Dpx(Int_t imodule);
29 virtual Float_t Dpy(Int_t imodule);
31 virtual void SetPad(Int_t ix, Int_t iy);
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
42 virtual Int_t ISector();
43 // calculate sector from pad coordinates
44 virtual Int_t Sector(Int_t ix, Int_t iy);
47 // Get next neighbours
48 virtual void Neighbours
49 (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[2], Int_t Ylist[2]);
52 virtual void Init(AliMUONChamber* chamber);
54 ClassDef(AliMUONSegmentationTriggerY,1) //Segmentation class for trigger X
56 void IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
58 // Geometry Parameters
59 float fXofysmin[126][16]; // x-min
60 float fXofysmax[126][16]; // x-max
61 float fYofysmin[126][16]; // y-min
62 float fYofysmax[126][16]; // y-max
64 // Current pad during integration (cursor for disintegration)
65 Int_t fix; // pad coord. x
66 Int_t fiy; // pad coord. y
67 Float_t fx; // real coord. x
68 Float_t fy; // real ccord. y