]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpIntPair.h
From Cvetan: new macro to load ITS clusters.
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpIntPair.h
... / ...
CommitLineData
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: AliMpIntPair.h,v 1.6 2006/05/24 13:58:07 ivana Exp $
6
7/// \ingroup basic
8/// \class AliMpIntPair
9/// \brief A pair of integers.
10///
11/// The pair created by the default constructor is in invalide state,
12/// setting one of values changes the state to valid.
13///
14/// \author David Guez, Ivana Hrivnacova; IPN Orsay
15
16#ifndef ALI_MP_INT_PAIR_H
17#define ALI_MP_INT_PAIR_H
18
19#include <TObject.h>
20
21class AliMpIntPair : public TObject
22{
23 public:
24 AliMpIntPair(Int_t ix,Int_t iy);
25 AliMpIntPair(Int_t ix,Int_t iy, Bool_t validity);
26 AliMpIntPair(const AliMpIntPair& right);
27 AliMpIntPair();
28 virtual ~AliMpIntPair();
29
30 // operators
31 Bool_t operator < (const AliMpIntPair& pos2) const;
32 Bool_t operator == (const AliMpIntPair& pos2) const;
33 Bool_t operator != (const AliMpIntPair& pos2) const;
34 AliMpIntPair& operator = (const AliMpIntPair& src) ;
35 void operator += (const AliMpIntPair& op);
36 void operator -= (const AliMpIntPair& op);
37
38 //
39 // static get methods
40 //
41 /// Return invalid pair
42 static AliMpIntPair Invalid() {return AliMpIntPair();}
43
44 //
45 // get methods
46 //
47 /// Return first value
48 Int_t GetFirst() const {return fFirst;}
49 /// Return second value
50 Int_t GetSecond() const {return fSecond;}
51 /// Return validity
52 Bool_t IsValid() const {return fValidity;}
53
54 //
55 // set methods
56 //
57 /// Set first value
58 void SetFirst(Int_t ix) {fFirst=ix; fValidity=true; }
59 /// Set second value
60 void SetSecond(Int_t iy) {fSecond=iy; fValidity=true;}
61 void Set(Int_t ix, Int_t iy) { fFirst=ix; fSecond=iy; fValidity=true; }
62
63 // TObject functions used for sorting in Root collections
64 virtual Bool_t IsSortable() const {return kTRUE;}
65 virtual Int_t Compare(const TObject* obj) const;
66
67 private:
68 // data members
69 Int_t fFirst; ///< the first value
70 Int_t fSecond; ///< the second value
71 Bool_t fValidity; ///< validity
72
73 ClassDef(AliMpIntPair,1) // utility class for the motif type
74};
75
76AliMpIntPair operator + (const AliMpIntPair& op1,const AliMpIntPair& op2);
77AliMpIntPair operator - (const AliMpIntPair& op1,const AliMpIntPair& op2);
78AliMpIntPair operator * (const AliMpIntPair& op1,const AliMpIntPair& op2);
79ostream& operator << (ostream &stream,const AliMpIntPair& op);
80
81#endif //ALI_MP_INT_PAIR_H