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: AliMpPadRowRSegment.cxx,v 1.6 2006/05/24 13:58:46 ivana Exp $
20 // Class AliMpPadRowRSegment
21 // -------------------------
22 // Class describing a pad row segment composed of the
24 // the pads are placed from the offset (defined in the base class)
27 // Included in AliRoot: 2003/05/02
28 // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
30 #include "AliMpPadRowRSegment.h"
31 #include "AliMpPadRow.h"
32 #include "AliMpMotif.h"
33 #include "AliMpMotifType.h"
36 ClassImp(AliMpPadRowRSegment)
39 //______________________________________________________________________________
40 AliMpPadRowRSegment::AliMpPadRowRSegment(AliMpPadRow* padRow, AliMpMotif* motif,
41 Int_t motifPositionId, Int_t nofPads)
42 : AliMpVPadRowSegment(padRow, motif, motifPositionId, nofPads)
44 /// Standard constructor
47 //______________________________________________________________________________
48 AliMpPadRowRSegment::AliMpPadRowRSegment()
49 : AliMpVPadRowSegment()
51 /// Default constructor
54 //______________________________________________________________________________
55 AliMpPadRowRSegment::~AliMpPadRowRSegment()
64 //______________________________________________________________________________
65 Double_t AliMpPadRowRSegment::FirstPadCenterX() const
67 /// Return the x coordinate of the first (the most left) pad center
68 /// in the global coordinate system.
70 return GetOffsetX() + GetMotif()->GetPadDimensions().X();
73 //______________________________________________________________________________
74 Double_t AliMpPadRowRSegment::LastPadCenterX() const
76 /// Return the x coordinate of the last (the most right) pad center
77 /// in the global coordinate system. \n
78 /// !! numbering of pads is in (-x) direction
80 return GetOffsetX() + (2.*GetNofPads() - 1)*GetMotif()->GetPadDimensions().X();
83 //______________________________________________________________________________
84 Double_t AliMpPadRowRSegment::FirstPadBorderX() const
86 /// Return the x coordinate of the left border of the first (the most left)
87 /// pad in the global coordinate system.
91 // return FirstPadCenterX() + GetMotif()->GetPadDimensions().X();
94 //______________________________________________________________________________
95 Double_t AliMpPadRowRSegment::LastPadBorderX() const
97 /// Return the x coordinate of the right border of the last (the most right)
98 /// pad in the global coordinate system.
100 return LastPadCenterX() + GetMotif()->GetPadDimensions().X();
107 //______________________________________________________________________________
108 Double_t AliMpPadRowRSegment::LeftBorderX() const
110 /// Return the x coordinate of the left row segment border
111 /// in the global coordinate system.
113 return FirstPadBorderX();
116 //______________________________________________________________________________
117 Double_t AliMpPadRowRSegment::RightBorderX() const
119 /// Return the x coordinate of the right row segment border
120 /// in the global coordinate system.
122 return LastPadBorderX();