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: AliMpSubZone.cxx,v 1.8 2006/05/24 13:58:46 ivana Exp $
// Category: sector

//-----------------------------------------------------------------------------
// Class AliMpSubZone
// ------------------
// Class describing a zone segment composed of the 
// line segments with the same motif type.
// Included in AliRoot: 2003/05/02
// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
//-----------------------------------------------------------------------------

#include "AliMpSubZone.h"
#include "AliMpVRowSegment.h"
#include "AliMpVMotif.h"

#include "AliLog.h"

#include <Riostream.h>

using std::cout;
using std::endl;
/// \cond CLASSIMP
ClassImp(AliMpSubZone)
/// \endcond

//_____________________________________________________________________________
AliMpSubZone::AliMpSubZone(AliMpVMotif* motif) 
  : TObject(),
    fMotif(motif),
    fSegments()
{
/// Standard constructor
}

//_____________________________________________________________________________
AliMpSubZone::AliMpSubZone() 
  : TObject(),
    fMotif(0),
    fSegments()
{
/// Default constructor
}

//_____________________________________________________________________________
AliMpSubZone::~AliMpSubZone() 
{
/// Destructor 
}

//
// public methods
//

//_____________________________________________________________________________
void AliMpSubZone::AddRowSegment(AliMpVRowSegment* rowSegment)
{
/// Add row segment.

  fSegments.Add(rowSegment);
} 


//_____________________________________________________________________________
void AliMpSubZone::Print(const char* /*option*/) const
{
/// Print motif position Ids for all row segments.
 
  for (Int_t i=0; i<GetNofRowSegments(); i++) {
    AliMpVRowSegment* rowSegment = GetRowSegment(i);
    
    cout << rowSegment->GetNofMotifs() << " ";

    for (Int_t j=0; j<rowSegment->GetNofMotifs(); j++)
      cout << rowSegment->GetMotifPositionId(j) << " ";
    
    cout << endl;    
  }    
}
  
//_____________________________________________________________________________
Int_t AliMpSubZone::GetNofRowSegments() const 
{
/// Return number of row segments.

  return fSegments.GetSize();
}  

//_____________________________________________________________________________
AliMpVRowSegment* AliMpSubZone::GetRowSegment(Int_t i) const 
{
/// Return i-th row segment.

  if (i<0 || i>=GetNofRowSegments()) {
    AliErrorStream() << "Index outside range" << endl;
    return 0;
  }
  
  return (AliMpVRowSegment*)fSegments.At(i);  
}

//_____________________________________________________________________________
AliMpVMotif*  AliMpSubZone:: GetMotif() const
{
/// Return the motif.

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