Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
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 : **************************************************************************/
15 :
16 : // $Id$
17 : // $MpId: AliMpPadRowLSegment.cxx,v 1.6 2006/05/24 13:58:46 ivana Exp $
18 : // Category: sector
19 :
20 : //-----------------------------------------------------------------------------
21 : // Class AliMpPadRowLSegment
22 : // -------------------------
23 : // Class describing a pad row segment composed of the
24 : // the identic pads;
25 : // the pads are placed from the offset (defined in the base class)
26 : // to the left.
27 : //
28 : // Included in AliRoot: 2003/05/02
29 : // Authors: David Guez, Ivana Hrivnacova; IPN Orsay
30 : //-----------------------------------------------------------------------------
31 :
32 : #include "AliMpPadRowLSegment.h"
33 : #include "AliMpPadRow.h"
34 : #include "AliMpMotif.h"
35 : #include "AliMpMotifType.h"
36 :
37 : /// \cond CLASSIMP
38 18 : ClassImp(AliMpPadRowLSegment)
39 : /// \endcond
40 :
41 : //_____________________________________________________________________________
42 : AliMpPadRowLSegment::AliMpPadRowLSegment(
43 : AliMpPadRow* padRow, AliMpMotif* motif,
44 : Int_t motifPositionId, Int_t nofPads)
45 1242 : : AliMpVPadRowSegment(padRow, motif, motifPositionId, nofPads)
46 6210 : {
47 : /// Standard constructor
48 2484 : }
49 :
50 : //_____________________________________________________________________________
51 : AliMpPadRowLSegment::AliMpPadRowLSegment()
52 0 : : AliMpVPadRowSegment()
53 0 : {
54 : /// Default constructor
55 0 : }
56 :
57 : //_____________________________________________________________________________
58 : AliMpPadRowLSegment::~AliMpPadRowLSegment()
59 3312 : {
60 : /// Destructor
61 3312 : }
62 :
63 : //
64 : // private methods
65 : //
66 :
67 : //_____________________________________________________________________________
68 : Double_t AliMpPadRowLSegment::FirstPadCenterX() const
69 : {
70 : /// Return the x coordinate of the first (the most right) pad center
71 : /// in the global coordinate system.
72 :
73 0 : return GetOffsetX() - GetMotif()->GetPadDimensionX();
74 : }
75 :
76 : //_____________________________________________________________________________
77 : Double_t AliMpPadRowLSegment::LastPadCenterX() const
78 : {
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
82 :
83 36116 : return GetOffsetX() - (2.*GetNofPads() - 1)*GetMotif()->GetPadDimensionX();
84 : }
85 :
86 : //_____________________________________________________________________________
87 : Double_t AliMpPadRowLSegment::FirstPadBorderX() const
88 : {
89 : /// Return the x coordinate of the right border of the first (the most right)
90 : /// pad in the global coordinate system.
91 :
92 37256 : return GetOffsetX();
93 : // Also could be
94 : // return FirstPadCenterX() + GetMotif()->GetPadDimensionX();
95 : }
96 :
97 : //_____________________________________________________________________________
98 : Double_t AliMpPadRowLSegment::LastPadBorderX() const
99 : {
100 : /// Return the x coordinate of the left border of the last (the most left)
101 : /// pad in the global coordinate system.
102 :
103 36116 : return LastPadCenterX() - GetMotif()->GetPadDimensionX();
104 : }
105 :
106 : //
107 : // public methods
108 : //
109 :
110 : //_____________________________________________________________________________
111 : Double_t AliMpPadRowLSegment::LeftBorderX() const
112 : {
113 : /// Return the x coordinate of the left row segment border
114 : /// in the global coordinate system.
115 :
116 36116 : return LastPadBorderX();
117 : }
118 :
119 : //_____________________________________________________________________________
120 : Double_t AliMpPadRowLSegment::RightBorderX() const
121 : {
122 : /// Return the x coordinate of the right row segment border
123 : /// in the global coordinate system.
124 :
125 37256 : return FirstPadBorderX();
126 : }
|