LCOV - code coverage report
Current view: top level - MUON/MUONgraphics - AliMUONPointWithRef.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 22 4.5 %
Date: 2016-06-14 17:26:59 Functions: 1 7 14.3 %

          Line data    Source code
       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             : 
      18             : ///\class AliMUONPointWithRef
      19             : ///
      20             : /// A class used to represent a point with an external integer reference
      21             : /// and with a specific sorting method (see AliMUONContourMaker)
      22             : ///
      23             : /// \author Laurent Aphecetche, Subatech
      24             : ///
      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
      35          12 : ClassImp(AliMUONPointWithRef)
      36             : //\endcond
      37             : 
      38             : //_____________________________________________________________________________
      39           0 : AliMUONPointWithRef::AliMUONPointWithRef() : fX(), fY(), fRef(-1)
      40           0 : {
      41             :   /// default ctor
      42           0 : }
      43             : 
      44             : //_____________________________________________________________________________
      45           0 : AliMUONPointWithRef::AliMUONPointWithRef(Double_t x, Double_t y, Int_t ref)
      46           0 : : fX(x), fY(y), fRef(ref)
      47           0 : {
      48             :   /// ctor
      49           0 : }
      50             : 
      51             : //_____________________________________________________________________________
      52             : Int_t   
      53             : AliMUONPointWithRef::Compare(const TObject* obj) const
      54             : {
      55             :   /// Should serve to sort the vertical edges in ascending order, first on absissa, 
      56             :   /// then on ordinate
      57             :   
      58           0 :   if ( this == obj ) return 0;
      59             :   
      60           0 :   const AliMUONPointWithRef* rhs = static_cast<const AliMUONPointWithRef*>(obj);
      61             : 
      62           0 :   if ( AliMUONSegment::AreEqual(Y(),rhs->Y()) )
      63             :   {
      64           0 :     if ( AliMUONSegment::AreEqual(X(),rhs->X()) )
      65             :     {
      66           0 :       return 0;
      67             :     }
      68           0 :     else if ( X() > rhs->X() )
      69             :     {
      70           0 :       return 1;
      71             :     }
      72             :     else 
      73           0 :       return -1;
      74             :   }
      75           0 :   else if ( Y() < rhs->Y() )
      76             :   {
      77           0 :     return -1;
      78             :   }
      79             :   else
      80             :   {
      81           0 :     return 1;
      82             :   }
      83           0 : }
      84             : 
      85             : //_____________________________________________________________________________
      86             : void 
      87             : AliMUONPointWithRef::Print(Option_t*) const
      88             : {
      89             :   /// Printout
      90           0 :   cout << Form("(%10.5f,%10.5f) [%4d]",X(),Y(),Ref()) << endl;
      91           0 : }

Generated by: LCOV version 1.11