]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSt1ElectronicElement.h
Bug fixed: pointer was not properly deleted
[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
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
3c25381f 20#include <TObject.h>
21
22class AliMpPad;
ba030c0e 23
24class 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
5f91c9e8 35 Bool_t Contains(const AliMpPad& pad) const;
ba030c0e 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