]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSegmentationTriggerY.h
New MUON Data container and MUON loader
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationTriggerY.h
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                               */
5
6 /* $Id$ */
7
8
9 #include "AliMUONSegmentationTrigger.h"
10
11 class AliMUONChamber;
12 //----------------------------------------------
13 //
14 // Chamber segmentation virtual base class
15 //
16 class AliMUONSegmentationTriggerY :
17 public AliMUONSegmentationTrigger {
18  public:
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);}
28   // Pad size Dx*Dy 
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;
33   // Set pad position
34   virtual void     SetPad(Int_t ix, Int_t iy);
35   // Set hit position
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
41   // x-coordinate
42   virtual Int_t  Ix();
43   // y-coordinate
44   virtual Int_t  Iy();
45   // Sector
46   virtual Int_t ISector();
47   // calculate sector from pad coordinates
48   virtual Int_t Sector(Int_t ix, Int_t iy);
49
50   
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]);
54   //
55   // Initialisation
56   virtual void Init(Int_t chamber);    
57   
58   ClassDef(AliMUONSegmentationTriggerY,1) //Segmentation class for trigger X
59     protected:    
60   void  IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
61   
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
67 };
68 #endif
69
70
71