LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpZone.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 27 36 75.0 %
Date: 2016-06-14 17:26:59 Functions: 11 13 84.6 %

          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: AliMpZone.cxx,v 1.7 2006/05/24 13:58:46 ivana Exp $
      18             : // Category: sector
      19             : 
      20             : //-----------------------------------------------------------------------------
      21             : // Class AliMpZone
      22             : // ---------------
      23             : // Class describing a zone composed of the zone segments.
      24             : // The zone contains pads of the same dimensions.
      25             : // Included in AliRoot: 2003/05/02
      26             : // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
      27             : //-----------------------------------------------------------------------------
      28             : 
      29             : #include "AliMpZone.h"
      30             : #include "AliMpSubZone.h"
      31             : 
      32             : /// \cond CLASSIMP
      33          18 : ClassImp(AliMpZone)
      34             : /// \endcond
      35             : 
      36             : //_____________________________________________________________________________
      37             : AliMpZone::AliMpZone(Int_t id) 
      38          42 :   : TObject(),
      39          42 :     fID(id),
      40          42 :     fSubZones(),
      41          42 :     fPadDimensionX(0.),
      42          42 :     fPadDimensionY(0.)
      43         210 : {
      44             : /// Standard constructor
      45          84 : }
      46             : 
      47             : //_____________________________________________________________________________
      48             : AliMpZone::AliMpZone() 
      49           0 :   : TObject(),
      50           0 :     fID(0),
      51           0 :     fSubZones(),
      52           0 :     fPadDimensionX(0.),
      53           0 :     fPadDimensionY(0.)
      54           0 : {
      55             : /// Default constructor
      56           0 : }
      57             : 
      58             : //_____________________________________________________________________________
      59             : AliMpZone::~AliMpZone() 
      60         168 : {
      61             : /// Destructor
      62             : 
      63         828 :   for (Int_t i=0; i<GetNofSubZones(); i++)
      64         744 :     delete fSubZones[i];  
      65          84 : }
      66             : 
      67             : //
      68             : // public methods
      69             : //
      70             : 
      71             : //_____________________________________________________________________________
      72             : void AliMpZone::AddSubZone(AliMpSubZone* subZone)
      73             : {
      74             : /// Add row segment.
      75             : 
      76         744 :   fSubZones.Add(subZone);
      77         372 : }  
      78             :   
      79             : //_____________________________________________________________________________
      80             : AliMpSubZone* AliMpZone::FindSubZone(const AliMpVMotif* motif) const
      81             : {
      82             : /// Find a subzone with a specified motif;
      83             : /// return 0 if not found.
      84             : 
      85        8553 :   for (Int_t i=0; i<GetNofSubZones(); i++) {
      86        3813 :     AliMpSubZone* subZone = GetSubZone(i);
      87        3996 :     if (subZone->GetMotif() == motif) return subZone;
      88        3630 :   }
      89             :   
      90         186 :   return 0;  
      91         369 : }
      92             : 
      93             : //_____________________________________________________________________________
      94             : void AliMpZone::SetPadDimensions(Double_t dx, Double_t dy)
      95             : { 
      96             : /// Set pad dimensions
      97             : 
      98          84 :   fPadDimensionX = dx; 
      99          42 :   fPadDimensionY = dy; 
     100          42 : }
     101             : 
     102             : //_____________________________________________________________________________
     103             : Int_t AliMpZone::GetNofSubZones() const 
     104             : {
     105             : /// Return number of row segments.
     106             : 
     107       16176 :   return fSubZones.GetEntriesFast();
     108             : }  
     109             : 
     110             : //_____________________________________________________________________________
     111             : AliMpSubZone* AliMpZone::GetSubZone(Int_t i) const 
     112             : {
     113             : /// Return i-th sub zone.
     114             : 
     115       11439 :   if (i<0 || i>=GetNofSubZones()) {
     116           0 :     Warning("GetSubZone", "Index outside range");
     117           0 :     return 0;
     118             :   }
     119             :   
     120        3813 :   return (AliMpSubZone*)fSubZones[i];  
     121        3813 : }

Generated by: LCOV version 1.11