]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpArea.h
Using Min and Max from TMath
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpArea.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
13985652 5// $MpId: AliMpArea.h,v 1.9 2006/05/24 13:58:07 ivana Exp $
dee1d5f1 6
7/// \ingroup basic
8/// \class AliMpArea
9/// \brief A rectangle area positioned in plane..
10///
13985652 11/// \author David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
13#ifndef ALI_MP_AREA_H
14#define ALI_MP_AREA_H
15
16#include <TObject.h>
17#include <TVector2.h>
18
19class 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
52dd0c39 46 void Print(Option_t* opt="") const;
47
5f91c9e8 48 private:
49 // data members
829425a5 50 TVector2 fPosition; ///< position
51 TVector2 fDimensions;///< dimensions (half lengths)
52 Bool_t fValidity; ///< validity
5f91c9e8 53
54 ClassDef(AliMpArea,1) //utility class for area iterators
55};
56
57ostream& operator << (ostream &stream,const AliMpArea& area);
58
59// inline functions
60
61inline TVector2 AliMpArea::Position() const { return fPosition; }
62inline TVector2 AliMpArea::Dimensions() const { return fDimensions; }
63inline Bool_t AliMpArea::IsValid() const { return fValidity; }
64
65#endif //ALI_MP_AREA_H