AliRoot Core  da88d91 (da88d91)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONPointWithRef.cxx
Go to the documentation of this file.
1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15 
16 // $Id$
17 
25 
26 #include "AliMUONPointWithRef.h"
27 
28 #include "AliMUONSegment.h"
29 #include "Riostream.h"
30 #include "TString.h"
31 
32 using std::cout;
33 using std::endl;
34 //\cond CLASSIMP
36 //\endcond
37 
38 //_____________________________________________________________________________
39 AliMUONPointWithRef::AliMUONPointWithRef() : fX(), fY(), fRef(-1)
40 {
42 }
43 
44 //_____________________________________________________________________________
45 AliMUONPointWithRef::AliMUONPointWithRef(Double_t x, Double_t y, Int_t ref)
46 : fX(x), fY(y), fRef(ref)
47 {
49 }
50 
51 //_____________________________________________________________________________
52 Int_t
53 AliMUONPointWithRef::Compare(const TObject* obj) const
54 {
57 
58  if ( this == obj ) return 0;
59 
60  const AliMUONPointWithRef* rhs = static_cast<const AliMUONPointWithRef*>(obj);
61 
62  if ( AliMUONSegment::AreEqual(Y(),rhs->Y()) )
63  {
64  if ( AliMUONSegment::AreEqual(X(),rhs->X()) )
65  {
66  return 0;
67  }
68  else if ( X() > rhs->X() )
69  {
70  return 1;
71  }
72  else
73  return -1;
74  }
75  else if ( Y() < rhs->Y() )
76  {
77  return -1;
78  }
79  else
80  {
81  return 1;
82  }
83 }
84 
85 //_____________________________________________________________________________
86 void
88 {
90  cout << Form("(%10.5f,%10.5f) [%4d]",X(),Y(),Ref()) << endl;
91 }
static Bool_t AreEqual(double a, double b)
A TVector2 with an integer ref, and a specific Compare.
virtual Int_t Compare(const TObject *obj) const
ClassImp(TPCGenInfo)
Definition: AliTPCCmpNG.C:254
Double_t X() const
Return x value.
void Print(Option_t *opt="") const
Int_t Ref() const
Return the index of the original point in some array.
Double_t Y() const
Return y value.