]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt1ElectronicElement.h
MUON trigger classes to collaborate with CTP (E. Lopez Torres)
[u/mrichter/AliRoot.git] / MUON / AliMUONSt1ElectronicElement.h
CommitLineData
ba030c0e 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$ */
30178c30 7// Revision of includes 07/05/2004
ba030c0e 8
692de412 9/// \ingroup sim
10/// \class AliMUONSt1ElectronicElement
11/// \brief Describes a set of pads defined by different ways
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/// Authors: David Guez, Ivana Hrivnacova, Marion MacCormick; IPN Orsay
ba030c0e 21
3c25381f 22#include <TObject.h>
23
24class AliMpPad;
ba030c0e 25
26class AliMUONSt1ElectronicElement : public TObject
27{
28 public:
29 enum TDescription {kNone, kIJ, kXY, kMGC, kMG, kM};
30
31 public:
32 AliMUONSt1ElectronicElement();
33 AliMUONSt1ElectronicElement(TDescription descr);
34 virtual ~AliMUONSt1ElectronicElement();
35
36 // methods
5f91c9e8 37 Bool_t Contains(const AliMpPad& pad) const;
ba030c0e 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;
42
43 private:
44 typedef union {Int_t i; Double_t x;} TData;
45
46 TDescription fDescription; // how the pad range is described
47 TData fRanges[2][2]; // range of the 2 variables
48
49 ClassDef(AliMUONSt1ElectronicElement,1) //range of electronic elements
50};
51#endif //ALI_MUON_ST1_ELECTRONIC_ELEMENT_H
52