]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpArea.h
Change a comment, and a tiny optimisation (Laurent)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpArea.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpArea.h,v 1.9 2006/05/24 13:58:07 ivana Exp $
6
7 /// \ingroup basic
8 /// \class AliMpArea
9 /// \brief A rectangle area positioned in plane..
10 ///
11 /// \author David Guez, Ivana Hrivnacova; IPN Orsay
12
13 #ifndef ALI_MP_AREA_H
14 #define ALI_MP_AREA_H
15
16 #include <TObject.h>
17 #include <TVector2.h>
18
19 class AliMpArea : public TObject
20 {
21  public:
22   AliMpArea(const TVector2& position, const TVector2& dimensions);
23   AliMpArea(const AliMpArea& rhs);
24   AliMpArea();
25   virtual ~AliMpArea();
26
27   // operators
28   AliMpArea& operator = (const AliMpArea& right);
29
30   // methods
31   Double_t LeftBorder() const;
32   Double_t RightBorder() const;
33   Double_t UpBorder() const;
34   Double_t DownBorder() const;
35
36   TVector2 LeftDownCorner() const;
37   TVector2 LeftUpCorner() const;
38   TVector2 RightDownCorner() const;
39   TVector2 RightUpCorner() const;
40
41   // get methods
42   TVector2  Position() const;
43   TVector2  Dimensions() const;    
44   Bool_t    IsValid() const;
45   
46   void Print(Option_t* opt="") const;
47   
48  private:
49   // data members
50   TVector2  fPosition;  ///<  position
51   TVector2  fDimensions;///<  dimensions (half lengths)
52   Bool_t    fValidity;  ///<  validity
53
54   ClassDef(AliMpArea,1) //utility class for area iterators
55 };
56
57 ostream& operator << (ostream &stream,const AliMpArea& area);
58
59 // inline functions
60
61 inline TVector2  AliMpArea::Position() const   { return fPosition; }
62 inline TVector2  AliMpArea::Dimensions() const { return fDimensions; }    
63 inline Bool_t    AliMpArea::IsValid() const    { return fValidity; }
64
65 #endif //ALI_MP_AREA_H