Code from MUON-dev joined
[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$ */
8
9#include "AliMUONSegmentationTrigger.h"
10
11class AliMUONChamber;
12//----------------------------------------------
13//
14// Chamber segmentation virtual base class
15//
16class AliMUONSegmentationTriggerX :
17public AliMUONSegmentationTrigger {
18 public:
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 // Transform from real to pad coordinates
24 virtual void GetPadCxy(Int_t ix,Int_t iy,Float_t &x,Float_t &y);
25 // Pad size Dx*Dy
26 virtual void SetPadSize(Float_t dp1, Float_t dp2);
27 // Strip size
28 virtual Float_t Dpx(Int_t imodule);
29 virtual Float_t Dpy(Int_t imodule);
30 // Set pad position
31 virtual void SetPad(Int_t ix, Int_t iy);
32 // Set hit position
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
37 // x-coordinate
38 virtual Int_t Ix();
39 // y-coordinate
40 virtual Int_t Iy();
41 // Sector
42 virtual Int_t ISector();
43 // calculate sector from pad coordinates
44 virtual Int_t Sector(Int_t ix, Int_t iy);
45 // Get next neighbours
46 virtual void Neighbours
47 (Int_t iX, Int_t iY, Int_t* Nlist, Int_t Xlist[2], Int_t Ylist[2]);
48
49 //
50 // Initialisation
51 virtual void Init(AliMUONChamber* chamber);
52
53 ClassDef(AliMUONSegmentationTriggerX,1) //Segmentation class for trigger X
54
55 protected:
56 void IntegrationParam(Float_t& x1, Float_t& x2, Float_t& y1);
57// Geometry Parameters
58 float fXofxsmin[126][64]; // x-min
59 float fXofxsmax[126][64]; // x-max
60 float fYofxsmin[126][64]; // y-min
61 float fYofxsmax[126][64]; // y-max
62
63// Current pad during integration (cursor for disintegration)
64 Int_t fix; // pad coord. x
65 Int_t fiy; // pad coord. y
66 Float_t fx; // real coord. x
67 Float_t fy; // real ccord. y
68
69};
70#endif
71
72
73