LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpVIndexed.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 34 42 81.0 %
Date: 2016-06-14 17:26:59 Functions: 17 23 73.9 %

          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             : // $MpId: AliMpVIndexed.cxx,v 1.7 2006/05/24 13:58:29 ivana Exp $
      18             : // Category: basic
      19             : 
      20             : //-----------------------------------------------------------------------------
      21             : // Class AliMpVIndexed
      22             : // -------------------
      23             : // Class that defines the limits of global pad indices.
      24             : // Included in AliRoot: 2003/05/02
      25             : // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
      26             : //-----------------------------------------------------------------------------
      27             : 
      28             : #include "AliMpVIndexed.h"
      29             : 
      30             : /// \cond CLASSIMP
      31          18 : ClassImp(AliMpVIndexed)
      32             : /// \endcond
      33             : 
      34             : //_____________________________________________________________________________
      35             : AliMpVIndexed::AliMpVIndexed()
      36       22941 :   : TObject(),
      37       22941 :     fLowLimit(0),
      38       22941 :     fHighLimit(0),
      39       22941 :     fLowValid(false),
      40       22941 :     fHighValid(false)
      41       68823 : {
      42             : /// Default constructor
      43       22941 : }
      44             : 
      45             : //_____________________________________________________________________________
      46             : AliMpVIndexed::~AliMpVIndexed()
      47           0 : {
      48             : /// Destructor 
      49       37094 : }
      50             : 
      51             : //_____________________________________________________________________________
      52             : MpPair_t AliMpVIndexed::GlobalIndices(MpPair_t localIndices) const
      53             : {
      54             : /// Return the global indices corresponding to the given local indices.
      55             : 
      56     9549424 :   return fLowLimit + localIndices;
      57             : }
      58             : 
      59             : //_____________________________________________________________________________
      60             : Int_t  AliMpVIndexed::GlobalIx(Int_t localIx) const
      61             : {
      62             : /// Return the global indices ix corresponding to the given local indices
      63             : 
      64           0 :   return GetLowLimitIx() + localIx;
      65             : }  
      66             : 
      67             : 
      68             : //_____________________________________________________________________________
      69             : Int_t  AliMpVIndexed::GlobalIy(Int_t localIy) const
      70             : {
      71             : /// Return the global indices iy corresponding to the given local indices
      72             : 
      73           0 :   return GetLowLimitIy() + localIy;
      74             : }  
      75             : 
      76             : //_____________________________________________________________________________
      77             : void AliMpVIndexed::SetLowIndicesLimit(MpPair_t limit, Bool_t valid)
      78             : { 
      79             : /// Set low indices limit
      80             : 
      81       22632 :   fLowLimit = limit; 
      82       22632 :   fLowValid = valid ; 
      83       22632 : }
      84             :   
      85             : //_____________________________________________________________________________
      86             : void AliMpVIndexed::SetLowIndicesLimit(Int_t ix, Int_t iy, Bool_t valid)
      87             : { 
      88             : /// Set low indices limit
      89             : 
      90       10695 :   fLowLimit = AliMp::Pair(ix, iy); 
      91       10695 :   fLowValid = valid; 
      92       10695 : }
      93             :   
      94             : //_____________________________________________________________________________
      95             : void AliMpVIndexed::SetHighIndicesLimit(MpPair_t limit, Bool_t valid)
      96             : { 
      97             : /// Set high indices limit
      98             : 
      99       22152 :   fHighLimit = limit; 
     100       22152 :   fHighValid = valid ; 
     101       22152 : }
     102             :   
     103             : //_____________________________________________________________________________
     104             : void AliMpVIndexed::SetHighIndicesLimit(Int_t ix, Int_t iy, Bool_t valid)
     105             : { 
     106             : /// Set high indices limit
     107             : 
     108       13212 :   fHighLimit = AliMp::Pair(ix, iy); 
     109       13212 :   fHighValid = valid; 
     110       13212 : }
     111             : 
     112             : //_____________________________________________________________________________
     113             : Bool_t AliMpVIndexed::HasIndices(MpPair_t indices) const
     114             : {
     115             : /// Return true in the specified indices are within the limits.
     116             :   
     117     3139941 :   return ( AliMp::PairFirst(indices)  >= GetLowLimitIx() && 
     118     1043819 :            AliMp::PairSecond(indices) >= GetLowLimitIy() && 
     119     1042659 :            AliMp::PairFirst(indices)  <= GetHighLimitIx() && 
     120     1038628 :            AliMp::PairSecond(indices) <= GetHighLimitIy() );
     121             : }  
     122             : 
     123             : //_____________________________________________________________________________
     124             : Bool_t AliMpVIndexed::HasIndices(Int_t ix, Int_t iy) const
     125             : {
     126             : /// Return true in the specified indices are within the limits.
     127             :   
     128           0 :   return (ix  >= GetLowLimitIx() && 
     129           0 :           iy  >= GetLowLimitIy() && 
     130           0 :           ix  <= GetHighLimitIx() && 
     131           0 :           iy  <= GetHighLimitIy() );
     132             : }  
     133             : 
     134             : //_____________________________________________________________________________
     135             : Bool_t AliMpVIndexed::HasValidIndices() const
     136             : {
     137             : /// Returns true if both indices limits have valid values.
     138             :   
     139       10116 :   return ( fLowValid && fHighValid );
     140             : }          
     141             : 
     142             : //_____________________________________________________________________________
     143             : MpPair_t AliMpVIndexed::GetLowIndicesLimit() const
     144             : { 
     145             : /// Return low indices limit
     146             : 
     147             :   // if ( ! fLowValid )  return 0;
     148             : 
     149     1645228 :   return fLowLimit; 
     150             : }
     151             : 
     152             : //_____________________________________________________________________________
     153             : Int_t  AliMpVIndexed::GetLowLimitIx() const
     154             : { 
     155             : /// Return low indices ix limit
     156             : 
     157             :   // if ( ! fLowValid )  return 0;
     158             : 
     159     2102894 :   return AliMp::PairFirst(fLowLimit); 
     160             : }
     161             : 
     162             : //_____________________________________________________________________________
     163             : Int_t  AliMpVIndexed::GetLowLimitIy() const
     164             : { 
     165             : /// Return low indices iy limit
     166             : 
     167             :   // if ( ! fLowValid )  return 0;
     168             : 
     169     2101342 :   return AliMp::PairSecond(fLowLimit); 
     170             : }
     171             : 
     172             : //_____________________________________________________________________________
     173             : Bool_t AliMpVIndexed::IsLowLimitValid() const  
     174             : {
     175             : /// Return true, if low indices limit is set 
     176             : 
     177           0 :   return fLowValid; 
     178             : }
     179             : 
     180             : //_____________________________________________________________________________
     181             : MpPair_t AliMpVIndexed::GetHighIndicesLimit() const
     182             : { 
     183             : /// Return high indices limit
     184             : 
     185             :   // if ( ! fHighValid )  return 0;
     186             : 
     187       38916 :   return fHighLimit; 
     188             : }
     189             : 
     190             : //_____________________________________________________________________________
     191             : Int_t  AliMpVIndexed::GetHighLimitIx() const
     192             : { 
     193             : /// Return high indices ix limit
     194             : 
     195             :   // if ( ! fHighValid )  return 0;
     196             : 
     197     2114364 :   return AliMp::PairFirst(fHighLimit); 
     198             : }
     199             : 
     200             : //_____________________________________________________________________________
     201             : Int_t  AliMpVIndexed::GetHighLimitIy() const
     202             : { 
     203             : /// Return high indices iy limit
     204             : 
     205             :   // if ( ! fHighValid )  return 0;
     206             : 
     207     2090234 :   return AliMp::PairSecond(fHighLimit); 
     208             : }
     209             : 
     210             : //_____________________________________________________________________________
     211             : Bool_t AliMpVIndexed::IsHighLimitValid() const  
     212             : {
     213             : /// Return true, if high indices limit is set 
     214             : 
     215         366 :   return fHighValid; 
     216             : }
     217             : 
     218             : 
     219             : 
     220             :   

Generated by: LCOV version 1.11