]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSt1ElectronicElement.h
Introduce extern for the common block references
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1ElectronicElement.h
1 #ifndef ALI_MUON_ST1_ELECTRONIC_ELEMENT_H
2 #define ALI_MUON_ST1_ELECTRONIC_ELEMENT_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 // Revision of includes 07/05/2004
8
9 // Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
10 //
11 // Class AliMUONSt1ElectronicElement
12 // ---------------------------------
13 // Describes a set of pads either by defining
14 // a range of indices, or
15 // a range of (centimeters) positions or
16 // a range of electronic channel numbers or
17 // a range of MANU numbers or, finally,
18 // a range of gassiplex/MANAS numbers, in a given range of MANU addresses
19
20 #include <TObject.h>
21
22 class AliMpPad;
23
24 class AliMUONSt1ElectronicElement : public TObject 
25 {
26   public:
27     enum TDescription {kNone, kIJ, kXY, kMGC, kMG, kM};
28
29   public:
30     AliMUONSt1ElectronicElement();
31     AliMUONSt1ElectronicElement(TDescription descr);
32     virtual ~AliMUONSt1ElectronicElement();
33     
34     // methods
35     Bool_t Contains(const AliMpPad& pad) const;
36     void   SetRange(Int_t numVar,Int_t i1,Int_t i2);
37     void   SetRange(Int_t numVar,Double_t x1,Double_t x2);
38     Bool_t IsInRange(Int_t numVar,Int_t i) const;
39     Bool_t IsInRange(Int_t numVar,Double_t x) const;
40
41   private:
42     typedef union {Int_t i; Double_t x;}  TData;
43     
44     TDescription fDescription; // how the pad range is described
45     TData fRanges[2][2];       // range of the 2 variables
46
47   ClassDef(AliMUONSt1ElectronicElement,1) //range of electronic elements
48 };
49 #endif //ALI_MUON_ST1_ELECTRONIC_ELEMENT_H
50