1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
17 // $MpId: AliMpPadRowLSegment.cxx,v 1.6 2006/05/24 13:58:46 ivana Exp $
20 //-----------------------------------------------------------------------------
21 // Class AliMpPadRowLSegment
22 // -------------------------
23 // Class describing a pad row segment composed of the
25 // the pads are placed from the offset (defined in the base class)
28 // Included in AliRoot: 2003/05/02
29 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
30 //-----------------------------------------------------------------------------
32 #include "AliMpPadRowLSegment.h"
33 #include "AliMpPadRow.h"
34 #include "AliMpMotif.h"
35 #include "AliMpMotifType.h"
38 ClassImp(AliMpPadRowLSegment)
41 //_____________________________________________________________________________
42 AliMpPadRowLSegment::AliMpPadRowLSegment(
43 AliMpPadRow* padRow, AliMpMotif* motif,
44 Int_t motifPositionId, Int_t nofPads)
45 : AliMpVPadRowSegment(padRow, motif, motifPositionId, nofPads)
47 /// Standard constructor
50 //_____________________________________________________________________________
51 AliMpPadRowLSegment::AliMpPadRowLSegment()
52 : AliMpVPadRowSegment()
54 /// Default constructor
57 //_____________________________________________________________________________
58 AliMpPadRowLSegment::~AliMpPadRowLSegment()
67 //_____________________________________________________________________________
68 Double_t AliMpPadRowLSegment::FirstPadCenterX() const
70 /// Return the x coordinate of the first (the most right) pad center
71 /// in the global coordinate system.
73 return GetOffsetX() - GetMotif()->GetPadDimensions().X();
76 //_____________________________________________________________________________
77 Double_t AliMpPadRowLSegment::LastPadCenterX() const
79 /// Return the x coordinate of the last (the most left) pad center
80 /// in the global coordinate system. \n
81 /// !! numbering of pads is in (-x) direction
83 return GetOffsetX() - (2.*GetNofPads() - 1)*GetMotif()->GetPadDimensions().X();
86 //_____________________________________________________________________________
87 Double_t AliMpPadRowLSegment::FirstPadBorderX() const
89 /// Return the x coordinate of the right border of the first (the most right)
90 /// pad in the global coordinate system.
94 // return FirstPadCenterX() + GetMotif()->GetPadDimensions().X();
97 //_____________________________________________________________________________
98 Double_t AliMpPadRowLSegment::LastPadBorderX() const
100 /// Return the x coordinate of the left border of the last (the most left)
101 /// pad in the global coordinate system.
103 return LastPadCenterX() - GetMotif()->GetPadDimensions().X();
110 //_____________________________________________________________________________
111 Double_t AliMpPadRowLSegment::LeftBorderX() const
113 /// Return the x coordinate of the left row segment border
114 /// in the global coordinate system.
116 return LastPadBorderX();
119 //_____________________________________________________________________________
120 Double_t AliMpPadRowLSegment::RightBorderX() const
122 /// Return the x coordinate of the right row segment border
123 /// in the global coordinate system.
125 return FirstPadBorderX();