7bdc6dc99aed0ea48927267af38c25ef3a527e9b
[u/mrichter/AliRoot.git] / MUON / AliMUONSegmentPosition.h
1 #ifndef ALIMUONSEGMENTPOSITION_H
2 #define ALIMUONSEGMENTPOSITION_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 //  Segment element position in local coordinates of the detection element   
10 //        Gines MARTINEZ, SUBATECH July 04                
11 //  This class is one of the basic component of 
12 //  AliMUONSegmentationDetectionElement and contains al the 
13 //  info about a segment (pad or strip):
14 //          Id-indetectionelement,  x_local, y_local 
15 //  Detailed information in Alice Technical Note xxxxxxxx (2004)
16 //====================================================================
17
18
19 #include <TNamed.h>
20 #include <TString.h>
21
22 class AliMUONSegmentPosition : public TNamed
23 {
24  public:
25     AliMUONSegmentPosition();
26     AliMUONSegmentPosition(const Int_t channelId, const Float_t x, const  Float_t y, const Int_t cathode);
27     virtual ~AliMUONSegmentPosition();
28       
29     Int_t   Compare(const TObject *obj) const;
30     Float_t Distance(Float_t x, Float_t y);
31     Int_t   GetChannelId()const {return fChannelId;}
32     Float_t GetXlocal()   const {return fX;}
33     Float_t GetYlocal()   const {return fY;}
34     Int_t   GetCathode()  const {return fCathode;}
35
36     static  Float_t GetUnit()            {return fUnit;} 
37     static  TString Name(Float_t x, Float_t y, Int_t cathode) ;
38
39     void    Print() const;
40
41  private:
42     Int_t   fChannelId;   // Id of the channel within the detection element
43     Float_t fX;           // Position X of the center of the segment (pad, strip, etc...)
44     Float_t fY;           // Position Y of the center of the segment (pad, strip, etc...)
45     Int_t   fCathode;     // Cathode Side Bending 1  or non bending 0 
46     Float_t fPadSizeX;
47     Float_t fPadSizeY;
48
49     static Float_t fUnit;  // Unit for generation of the name 3mm has been choses     
50
51     ClassDef(AliMUONSegmentPosition,1) // Loal positions of segments
52         
53 };
54 #endif
55
56
57
58
59
60