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 */
7 // Revision of includes 07/05/2004
10 /// \class AliMUONSt1ElectronicElement
11 /// \brief Describes a set of pads defined by different ways
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
20 /// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
26 class AliMUONSt1ElectronicElement : public TObject
29 enum TDescription {kNone, kIJ, kXY, kMGC, kMG, kM};
32 AliMUONSt1ElectronicElement();
33 AliMUONSt1ElectronicElement(TDescription descr);
34 virtual ~AliMUONSt1ElectronicElement();
37 Bool_t Contains(const AliMpPad& pad) const;
38 void SetRange(Int_t numVar,Int_t i1,Int_t i2);
39 void SetRange(Int_t numVar,Double_t x1,Double_t x2);
40 Bool_t IsInRange(Int_t numVar,Int_t i) const;
41 Bool_t IsInRange(Int_t numVar,Double_t x) const;
44 typedef union {Int_t i; Double_t x;} TData;
46 TDescription fDescription; // how the pad range is described
47 TData fRanges[2][2]; // range of the 2 variables
49 ClassDef(AliMUONSt1ElectronicElement,1) //range of electronic elements
51 #endif //ALI_MUON_ST1_ELECTRONIC_ELEMENT_H