Code for MUON Station1 (I.Hrivnacova)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPad.h
1 // $Id$
2 // Category: basic
3 //
4 // Class AliMpPad
5 // ---------------
6 // Class which encapsuate all informations about a pad
7 //
8 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
9
10 #ifndef ALI_MP_PAD_H
11 #define ALI_MP_PAD_H
12
13 #include <TObject.h>
14 #include <TVector2.h>
15
16 #include "AliMpIntPair.h"
17
18 class AliMpPad : public TObject
19 {
20  public:
21   AliMpPad(const AliMpIntPair& location, const AliMpIntPair& indices,
22            const TVector2& position, const TVector2& dimensions,
23            Bool_t validity = true);
24   AliMpPad();
25   AliMpPad(const AliMpPad& src);
26   virtual ~AliMpPad();
27
28   // operators  
29   Bool_t operator == (const AliMpPad& pos2) const;
30   Bool_t operator != (const AliMpPad& pos2) const;
31   AliMpPad& operator = (const AliMpPad& src) ;
32   
33   // methods
34   void Print() const;
35
36   // static get methods
37   static AliMpPad Invalid() {return AliMpPad();}
38
39   // get methods
40   AliMpIntPair GetLocation() const {return fLocation  ;}
41   AliMpIntPair GetIndices()  const {return fIndices   ;}
42   TVector2 Position()    const {return fPosition  ;}
43   TVector2 Dimensions()  const {return fDimensions;}
44   Bool_t   IsValid()     const {return fValidity  ;}
45
46  private:
47   // unused derived functions
48   virtual void Print(const char* option) const {}
49
50   // data members
51   AliMpIntPair  fLocation;  //pad location
52   AliMpIntPair  fIndices;   //pad indices
53   TVector2  fPosition;  // the pad position (in cm)
54   TVector2  fDimensions;// the pad dimensions (in cm)
55   Bool_t    fValidity;  // validity
56
57   ClassDef(AliMpPad,1) //utility class for the motif type
58 };
59
60 ostream& operator << (ostream &out, const AliMpPad& op);
61 Bool_t operator < (const AliMpPad& left, const AliMpPad& right);
62
63 #endif //ALI_MP_PAD_H