From 36a014154bf44c1170bb56c03276e37a8335e1a7 Mon Sep 17 00:00:00 2001 From: martinez Date: Wed, 27 Jun 2007 14:12:12 +0000 Subject: [PATCH] Adding IsEqual and Compare methods (Laurent) --- MUON/AliMUONVDigit.cxx | 55 ++++++++++++++++++++++++++++++++++++++++++ MUON/AliMUONVDigit.h | 4 +++ 2 files changed, 59 insertions(+) diff --git a/MUON/AliMUONVDigit.cxx b/MUON/AliMUONVDigit.cxx index 3f507333d7c..56721f57932 100644 --- a/MUON/AliMUONVDigit.cxx +++ b/MUON/AliMUONVDigit.cxx @@ -69,6 +69,61 @@ AliMUONVDigit::~AliMUONVDigit() /// dtor } +//_____________________________________________________________________________ +Bool_t +AliMUONVDigit::IsEqual(const TObject* object) const +{ + const AliMUONVDigit* d = static_cast(object); + + return ( DetElemId() == d->DetElemId() && + Cathode() == d->Cathode() && + ManuId() == d->ManuId() && + ManuChannel() == d->ManuChannel() ); +} + +//_____________________________________________________________________________ +Int_t +AliMUONVDigit::Compare(const TObject* object) const +{ + const AliMUONVDigit* d = static_cast(object); + + if ( DetElemId() > d->DetElemId() ) + { + return 1; + } + else if ( DetElemId() < d->DetElemId() ) + { + return -1; + } + else + { + if ( Charge() > d->Charge() ) + { + return 1; + } + else if ( Charge() < d->Charge() ) + { + return -1; + } + else + { + if ( ManuId() < d->ManuId() ) + { + return 1; + } + else if ( ManuId() > d->ManuId() ) + { + return -1; + } + else + { + return ( ManuChannel() < d->ManuChannel() ) ? 1 : -1; + } + } + } + return 0; +} + //_____________________________________________________________________________ UInt_t AliMUONVDigit::BuildUniqueID(Int_t detElemId, Int_t manuId, diff --git a/MUON/AliMUONVDigit.h b/MUON/AliMUONVDigit.h index add33000f3c..99e6eca03db 100644 --- a/MUON/AliMUONVDigit.h +++ b/MUON/AliMUONVDigit.h @@ -22,6 +22,10 @@ public: AliMUONVDigit(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t cathode); virtual ~AliMUONVDigit(); + virtual Bool_t IsEqual(const TObject* object) const; + virtual Bool_t IsSortable() const { return kTRUE; } + virtual Int_t Compare(const TObject* object) const; + virtual const char* GetName() const; /// The detection element this digit belongs to -- 2.39.3