]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSegmentationTriggerX.h
Code revision:
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentationTriggerX.h
CommitLineData
a9e2aefa 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$ */
30178c30 8// Revision of includes 07/05/2004
a9e2aefa 9
a9e2aefa 10//----------------------------------------------
11//
12// Chamber segmentation virtual base class
13//
30178c30 14
15#include "AliMUONSegmentationTrigger.h"
16
17class AliMUONChamber;
18
19class AliMUONSegmentationTriggerX : public AliMUONSegmentationTrigger
20{
a9e2aefa 21 public:
22 AliMUONSegmentationTriggerX(){}
23 virtual ~AliMUONSegmentationTriggerX(){}
24 // Transform from pad to real coordinates
a30a000f 25 virtual void GetPadI(Float_t x, Float_t y, Int_t &ix, Int_t &iy);
e889a146 26 virtual void GetPadI(Float_t x, Float_t y, Float_t z, Int_t &ix, Int_t &iy);
a9e2aefa 27 // Transform from real to pad coordinates
a30a000f 28 virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y);
c3eff6ad 29 virtual void GetPadC(Int_t ix, Int_t iy, Float_t &x, Float_t &y, Float_t &z)
4554f81d 30 {z=-10000.; GetPadC(ix, iy, x , y);}
5fd73042 31 // Draw the segmentation zones
32 virtual void Draw(const char *opt = "") const;
ef42d733 33
a9e2aefa 34 // Pad size Dx*Dy
35 virtual void SetPadSize(Float_t dp1, Float_t dp2);
36 // Strip size
c3eff6ad 37 virtual Float_t Dpx(Int_t imodule) const;
38 virtual Float_t Dpy(Int_t imodule) const;
a9e2aefa 39 // Set pad position
40 virtual void SetPad(Int_t ix, Int_t iy);
41 // Set hit position
42 virtual void SetHit(Float_t xhit, Float_t yhit);
e889a146 43 virtual void SetHit(Float_t xhit, Float_t yhit, Float_t zhit);
a9e2aefa 44 // Current integration parameters
03f221a7 45 virtual void IntegrationLimits(Float_t& x1, Float_t& x2, Float_t& x3, Float_t& x4);
a9e2aefa 46 // Current Pad during Integration
47 // x-coordinate
48 virtual Int_t Ix();
49 // y-coordinate
50 virtual Int_t Iy();
51 // Sector
52 virtual Int_t ISector();
53 // calculate sector from pad coordinates
54 virtual Int_t Sector(Int_t ix, Int_t iy);
55 // Get next neighbours
56 virtual void Neighbours
03f221a7 57 (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[10], Int_t Ylist[10]);
a9e2aefa 58
59 //
60 // Initialisation
d81db581 61 virtual void Init(Int_t chamber);
a9e2aefa 62
63 ClassDef(AliMUONSegmentationTriggerX,1) //Segmentation class for trigger X
64
65 protected:
66 void IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
67// Geometry Parameters
68 float fXofxsmin[126][64]; // x-min
69 float fXofxsmax[126][64]; // x-max
70 float fYofxsmin[126][64]; // y-min
71 float fYofxsmax[126][64]; // y-max
a9e2aefa 72};
73#endif
74
75
76