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

//-----------------------------------------------------------------------------
// Class AliMpPadRowLSegment
// -------------------------
// Class describing a pad row segment composed of the 
// the identic pads;
// the pads are placed from the offset (defined in the base class)
// to the left.
//
// Included in AliRoot: 2003/05/02
// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
//-----------------------------------------------------------------------------

#include "AliMpPadRowLSegment.h"
#include "AliMpPadRow.h"
#include "AliMpMotif.h"
#include "AliMpMotifType.h"

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

//_____________________________________________________________________________
AliMpPadRowLSegment::AliMpPadRowLSegment(
                          AliMpPadRow* padRow, AliMpMotif* motif, 
                          Int_t motifPositionId, Int_t nofPads)
  : AliMpVPadRowSegment(padRow, motif, motifPositionId, nofPads)
{
/// Standard constructor 
}

//_____________________________________________________________________________
AliMpPadRowLSegment::AliMpPadRowLSegment() 
  : AliMpVPadRowSegment()
{
/// Default constructor
}

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

//
// private methods  
//

//_____________________________________________________________________________
Double_t AliMpPadRowLSegment::FirstPadCenterX() const
{
/// Return the x coordinate of the first (the most right) pad center
/// in the global coordinate system.

  return GetOffsetX() - GetMotif()->GetPadDimensionX();
}  

//_____________________________________________________________________________
Double_t AliMpPadRowLSegment::LastPadCenterX() const
{
/// Return the x coordinate of the last (the most left) pad center
/// in the global coordinate system.                                         \n       
/// !! numbering of pads is in (-x) direction

  return GetOffsetX() - (2.*GetNofPads() - 1)*GetMotif()->GetPadDimensionX();
}

//_____________________________________________________________________________
Double_t AliMpPadRowLSegment::FirstPadBorderX() const
{
/// Return the x coordinate of the right border of the first (the most right) 
/// pad in the global coordinate system.

  return GetOffsetX();
         // Also could be
         // return FirstPadCenterX() + GetMotif()->GetPadDimensionX();
}  

//_____________________________________________________________________________
Double_t AliMpPadRowLSegment::LastPadBorderX() const
{
/// Return the x coordinate of the left border of the last (the most left)
/// pad in the global coordinate system.

  return LastPadCenterX() - GetMotif()->GetPadDimensionX();
}  

//
// public methods  
//

//_____________________________________________________________________________
Double_t  AliMpPadRowLSegment::LeftBorderX() const
{
/// Return the x coordinate of the left row segment border
/// in the global coordinate system.

  return LastPadBorderX();
}

//_____________________________________________________________________________
Double_t  AliMpPadRowLSegment::RightBorderX() const
{
/// Return the x coordinate of the right row segment border
/// in the global coordinate system.

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