StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StjTreeIndex.h
1 // -*- mode: c++;-*-
2 // $Id: StjTreeIndex.h,v 1.6 2015/08/14 16:37:32 rfatemi Exp $
3 // Copyright (C) 2008 Tai Sakuma <sakuma@bnl.gov>
4 #ifndef STJTREEINDEX_H
5 #define STJTREEINDEX_H
6 
7 #include <Rtypes.h>
8 #include <TObject.h>
9 #include <ostream>
10 
11 
12 class StjTreeIndex : public TObject {
13 
14 public:
15  StjTreeIndex(Int_t big = 0, Int_t small = 0) : Big(big), Small(small) { }
16  virtual ~StjTreeIndex() { }
17 
18 
19  Int_t big() const { return Big; }
20  Int_t small() const { return Small; }
21 
22 private:
23 
24  Int_t Big;
25  Int_t Small;
26 
27  ClassDef(StjTreeIndex, 1)
28 
29 };
30 
31 inline bool operator<(const StjTreeIndex& v1, const StjTreeIndex& v2) {
32  if(v1.big() != v2.big()) return v1.big() < v2.big();
33  return v1.small() < v2.small();
34 }
35 
36 inline bool operator>(const StjTreeIndex& v1, const StjTreeIndex& v2) {
37  return v2 < v1;
38 }
39 
40 inline bool operator==(const StjTreeIndex& v1, const StjTreeIndex& v2){
41  return !( v1 > v2 ) && !( v2 > v1);
42 }
43 
44 inline bool operator!=(const StjTreeIndex& v1, const StjTreeIndex& v2)
45 {
46  return(!(v1 == v2));
47 }
48 
49 inline std::ostream& operator<<(std::ostream& out, const StjTreeIndex& v)
50 {
51  out << "StjTreeIndex: " << v.big() << " " << v.small();
52  return out;
53 }
54 
55 #endif // STJTREEINDEX_H