ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

// $Id$
// $MpId: AliMpZone.cxx,v 1.7 2006/05/24 13:58:46 ivana Exp $
// Category: sector

//-----------------------------------------------------------------------------
// Class AliMpZone
// ---------------
// Class describing a zone composed of the zone segments.
// The zone contains pads of the same dimensions.
// Included in AliRoot: 2003/05/02
// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
//-----------------------------------------------------------------------------

#include "AliMpZone.h"
#include "AliMpSubZone.h"

/// \cond CLASSIMP
ClassImp(AliMpZone)
/// \endcond

//_____________________________________________________________________________
AliMpZone::AliMpZone(Int_t id) 
  : TObject(),
    fID(id),
    fSubZones(),
    fPadDimensionX(0.),
    fPadDimensionY(0.)
{
/// Standard constructor
}

//_____________________________________________________________________________
AliMpZone::AliMpZone() 
  : TObject(),
    fID(0),
    fSubZones(),
    fPadDimensionX(0.),
    fPadDimensionY(0.)
{
/// Default constructor
}

//_____________________________________________________________________________
AliMpZone::~AliMpZone() 
{
/// Destructor

  for (Int_t i=0; i<GetNofSubZones(); i++)
    delete fSubZones[i];  
}

//
// public methods
//

//_____________________________________________________________________________
void AliMpZone::AddSubZone(AliMpSubZone* subZone)
{
/// Add row segment.

  fSubZones.Add(subZone);
}  
  
//_____________________________________________________________________________
AliMpSubZone* AliMpZone::FindSubZone(const AliMpVMotif* motif) const
{
/// Find a subzone with a specified motif;
/// return 0 if not found.

  for (Int_t i=0; i<GetNofSubZones(); i++) {
    AliMpSubZone* subZone = GetSubZone(i);
    if (subZone->GetMotif() == motif) return subZone;
  }
  
  return 0;  
}

//_____________________________________________________________________________
void AliMpZone::SetPadDimensions(Double_t dx, Double_t dy)
{ 
/// Set pad dimensions

  fPadDimensionX = dx; 
  fPadDimensionY = dy; 
}

//_____________________________________________________________________________
Int_t AliMpZone::GetNofSubZones() const 
{
/// Return number of row segments.

  return fSubZones.GetEntriesFast();
}  

//_____________________________________________________________________________
AliMpSubZone* AliMpZone::GetSubZone(Int_t i) const 
{
/// Return i-th sub zone.

  if (i<0 || i>=GetNofSubZones()) {
    Warning("GetSubZone", "Index outside range");
    return 0;
  }
  
  return (AliMpSubZone*)fSubZones[i];  
}
 AliMpZone.cxx:1
 AliMpZone.cxx:2
 AliMpZone.cxx:3
 AliMpZone.cxx:4
 AliMpZone.cxx:5
 AliMpZone.cxx:6
 AliMpZone.cxx:7
 AliMpZone.cxx:8
 AliMpZone.cxx:9
 AliMpZone.cxx:10
 AliMpZone.cxx:11
 AliMpZone.cxx:12
 AliMpZone.cxx:13
 AliMpZone.cxx:14
 AliMpZone.cxx:15
 AliMpZone.cxx:16
 AliMpZone.cxx:17
 AliMpZone.cxx:18
 AliMpZone.cxx:19
 AliMpZone.cxx:20
 AliMpZone.cxx:21
 AliMpZone.cxx:22
 AliMpZone.cxx:23
 AliMpZone.cxx:24
 AliMpZone.cxx:25
 AliMpZone.cxx:26
 AliMpZone.cxx:27
 AliMpZone.cxx:28
 AliMpZone.cxx:29
 AliMpZone.cxx:30
 AliMpZone.cxx:31
 AliMpZone.cxx:32
 AliMpZone.cxx:33
 AliMpZone.cxx:34
 AliMpZone.cxx:35
 AliMpZone.cxx:36
 AliMpZone.cxx:37
 AliMpZone.cxx:38
 AliMpZone.cxx:39
 AliMpZone.cxx:40
 AliMpZone.cxx:41
 AliMpZone.cxx:42
 AliMpZone.cxx:43
 AliMpZone.cxx:44
 AliMpZone.cxx:45
 AliMpZone.cxx:46
 AliMpZone.cxx:47
 AliMpZone.cxx:48
 AliMpZone.cxx:49
 AliMpZone.cxx:50
 AliMpZone.cxx:51
 AliMpZone.cxx:52
 AliMpZone.cxx:53
 AliMpZone.cxx:54
 AliMpZone.cxx:55
 AliMpZone.cxx:56
 AliMpZone.cxx:57
 AliMpZone.cxx:58
 AliMpZone.cxx:59
 AliMpZone.cxx:60
 AliMpZone.cxx:61
 AliMpZone.cxx:62
 AliMpZone.cxx:63
 AliMpZone.cxx:64
 AliMpZone.cxx:65
 AliMpZone.cxx:66
 AliMpZone.cxx:67
 AliMpZone.cxx:68
 AliMpZone.cxx:69
 AliMpZone.cxx:70
 AliMpZone.cxx:71
 AliMpZone.cxx:72
 AliMpZone.cxx:73
 AliMpZone.cxx:74
 AliMpZone.cxx:75
 AliMpZone.cxx:76
 AliMpZone.cxx:77
 AliMpZone.cxx:78
 AliMpZone.cxx:79
 AliMpZone.cxx:80
 AliMpZone.cxx:81
 AliMpZone.cxx:82
 AliMpZone.cxx:83
 AliMpZone.cxx:84
 AliMpZone.cxx:85
 AliMpZone.cxx:86
 AliMpZone.cxx:87
 AliMpZone.cxx:88
 AliMpZone.cxx:89
 AliMpZone.cxx:90
 AliMpZone.cxx:91
 AliMpZone.cxx:92
 AliMpZone.cxx:93
 AliMpZone.cxx:94
 AliMpZone.cxx:95
 AliMpZone.cxx:96
 AliMpZone.cxx:97
 AliMpZone.cxx:98
 AliMpZone.cxx:99
 AliMpZone.cxx:100
 AliMpZone.cxx:101
 AliMpZone.cxx:102
 AliMpZone.cxx:103
 AliMpZone.cxx:104
 AliMpZone.cxx:105
 AliMpZone.cxx:106
 AliMpZone.cxx:107
 AliMpZone.cxx:108
 AliMpZone.cxx:109
 AliMpZone.cxx:110
 AliMpZone.cxx:111
 AliMpZone.cxx:112
 AliMpZone.cxx:113
 AliMpZone.cxx:114
 AliMpZone.cxx:115
 AliMpZone.cxx:116
 AliMpZone.cxx:117
 AliMpZone.cxx:118
 AliMpZone.cxx:119
 AliMpZone.cxx:120
 AliMpZone.cxx:121