ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Trk::TrapezoidVolumeBounds Class Referencefinal

#include <TrapezoidVolumeBounds.h>

Inheritance diagram for Trk::TrapezoidVolumeBounds:
Collaboration diagram for Trk::TrapezoidVolumeBounds:

Public Member Functions

 TrapezoidVolumeBounds ()
 Default Constructor. More...
 
 TrapezoidVolumeBounds (double minhlenghtx, double maxhlengthx, double hlenghty, double hlengthz)
 Constructor - the trapezoid boundaries (symmetric trapezoid) More...
 
 TrapezoidVolumeBounds (double minhlenghtx, double hlenghty, double hlengthz, double alpha, double beta)
 Constructor - the trapezoid boundaries (arbitrary trapezoid) More...
 
 TrapezoidVolumeBounds (const TrapezoidVolumeBounds &bobo)
 Copy Constructor. More...
 
virtual ~TrapezoidVolumeBounds ()
 Destructor. More...
 
TrapezoidVolumeBoundsoperator= (const TrapezoidVolumeBounds &bobo)
 Assignment operator. More...
 
TrapezoidVolumeBoundsclone () const override final
 Virtual constructor. More...
 
bool inside (const Amg::Vector3D &, double tol=0.) const override final
 This method checks if position in the 3D volume frame is inside the cylinder. More...
 
const std::vector< const Trk::Surface * > * decomposeToSurfaces (const Amg::Transform3D &transform) override final
 Method to decompose the Bounds into Surfaces. More...
 
ObjectAccessor boundarySurfaceAccessor (const Amg::Vector3D &gp, const Amg::Vector3D &dir, bool forceInside=false) const override
 Provide accessor for BoundarySurfaces. More...
 
double minHalflengthX () const
 This method returns the minimal halflength in local x. More...
 
double maxHalflengthX () const
 This method returns the maximal halflength in local x. More...
 
double halflengthY () const
 This method returns the halflength in local y. More...
 
double halflengthZ () const
 This method returns the halflength in local z. More...
 
double alpha () const
 This method returns the opening angle in point A (negative local x) More...
 
double beta () const
 This method returns the opening angle in point B (negative local x) More...
 
MsgStream & dump (MsgStream &sl) const override final
 Output Method for MsgStream. More...
 
std::ostream & dump (std::ostream &sl) const override final
 Output Method for std::ostream. More...
 

Private Member Functions

TrapezoidBoundsfaceXYTrapezoidBounds () const
 This method returns the associated TrapezoidBounds of the face PlaneSurface parallel to local xy plane. More...
 
RectangleBoundsfaceAlphaRectangleBounds () const
 This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x) More...
 
RectangleBoundsfaceBetaRectangleBounds () const
 This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x) More...
 
RectangleBoundsfaceZXRectangleBoundsBottom () const
 This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y. More...
 
RectangleBoundsfaceZXRectangleBoundsTop () const
 This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y. More...
 

Private Attributes

double m_minHalfX
 minimal halflength in x More...
 
double m_maxHalfX
 maximal halflength in x More...
 
double m_halfY
 halflength in y More...
 
double m_halfZ
 halflength in z More...
 
double m_alpha
 opening angle alpha (in point A) More...
 
double m_beta
 opening angle beta (in point B) More...
 
SixObjectsAccessor m_objectAccessor
 There's only one single object Acessor for the moment has to be implemented if Cuboids are used more widely. More...
 

Detailed Description

Bounds for a trapezoidal shaped Volume, the decomposeToSurfaces method creates a vector of 6 surfaces:

BoundarySurfaceFace [index]:

- negativeFaceXY     [0] : Trazpezoidal Trk::PlaneSurface,
                           parallel to \f$ xy \f$ plane at negative \f$ z

\( - positiveFaceXY [1] : Trazpezoidal Trk::PlaneSurface, parallel to \) xy \( plane at positive \) z \( - trapezoidFaceAlpha [2] : Rectangular Trk::PlaneSurface, attached to [0] and [1] at negative \) x \( (associated to alpha) - trapezoidFaceBeta [3] : Rectangular Trk::PlaneSurface, attached to [0] and [1] at positive \) x \( (associated to beta) - negativeFaceZX [4] : Rectangular Trk::PlaneSurface, parallel to \) zx \( plane at negative \) y \( - positiveFaceZX [5] : Rectangular Trk::PlaneSurface, parallel to \) zx \( plane at positive \) y

Definition at line 57 of file TrapezoidVolumeBounds.h.

Constructor & Destructor Documentation

◆ TrapezoidVolumeBounds() [1/4]

Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds ( )

Default Constructor.

Definition at line 26 of file TrapezoidVolumeBounds.cxx.

27  : VolumeBounds()
28  , m_minHalfX(0.)
29  , m_maxHalfX(0.)
30  , m_halfY(0.)
31  , m_halfZ(0.)
32  , m_alpha(0.)
33  , m_beta(0.)
35 {}

◆ TrapezoidVolumeBounds() [2/4]

Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds ( double  minhlenghtx,
double  maxhlengthx,
double  hlenghty,
double  hlengthz 
)

Constructor - the trapezoid boundaries (symmetric trapezoid)

Definition at line 37 of file TrapezoidVolumeBounds.cxx.

42  : VolumeBounds()
43  , m_minHalfX(minhalex)
44  , m_maxHalfX(maxhalex)
45  , m_halfY(haley)
46  , m_halfZ(halez)
47  , m_alpha(0.)
48  , m_beta(0.)
50 {
51  m_alpha = atan((m_maxHalfX - m_minHalfX) / 2 / m_halfY) + 0.5 * M_PI;
52  m_beta = m_alpha;
53 }

◆ TrapezoidVolumeBounds() [3/4]

Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds ( double  minhlenghtx,
double  hlenghty,
double  hlengthz,
double  alpha,
double  beta 
)

Constructor - the trapezoid boundaries (arbitrary trapezoid)

Definition at line 55 of file TrapezoidVolumeBounds.cxx.

61  : VolumeBounds()
62  , m_minHalfX(minhalex)
63  , m_maxHalfX(0.)
64  , m_halfY(haley)
65  , m_halfZ(halez)
66  , m_alpha(alpha)
67  , m_beta(beta)
69 {
70  double gamma = (alpha > beta) ? (alpha - 0.5 * M_PI) : (beta - 0.5 * M_PI);
71  m_maxHalfX = m_minHalfX + (2. * m_halfY) * tan(gamma);
72 }

◆ TrapezoidVolumeBounds() [4/4]

Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds ( const TrapezoidVolumeBounds bobo)

Copy Constructor.

Definition at line 74 of file TrapezoidVolumeBounds.cxx.

76  : VolumeBounds()
77  , m_minHalfX(trabo.m_minHalfX)
78  , m_maxHalfX(trabo.m_maxHalfX)
79  , m_halfY(trabo.m_halfY)
80  , m_halfZ(trabo.m_halfZ)
81  , m_alpha(trabo.m_alpha)
82  , m_beta(trabo.m_beta)
83  , m_objectAccessor(trabo.m_objectAccessor)
84 {}

◆ ~TrapezoidVolumeBounds()

Trk::TrapezoidVolumeBounds::~TrapezoidVolumeBounds ( )
virtualdefault

Destructor.

Member Function Documentation

◆ alpha()

double Trk::TrapezoidVolumeBounds::alpha ( ) const
inline

This method returns the opening angle in point A (negative local x)

Definition at line 165 of file TrapezoidVolumeBounds.h.

165 { return m_alpha; }

◆ beta()

double Trk::TrapezoidVolumeBounds::beta ( ) const
inline

This method returns the opening angle in point B (negative local x)

Definition at line 166 of file TrapezoidVolumeBounds.h.

166 { return m_beta; }

◆ boundarySurfaceAccessor()

ObjectAccessor Trk::TrapezoidVolumeBounds::boundarySurfaceAccessor ( const Amg::Vector3D gp,
const Amg::Vector3D dir,
bool  forceInside = false 
) const
inlineoverridevirtual

Provide accessor for BoundarySurfaces.

Implements Trk::VolumeBounds.

Definition at line 168 of file TrapezoidVolumeBounds.h.

169  {
171 }

◆ clone()

TrapezoidVolumeBounds * Trk::TrapezoidVolumeBounds::clone ( ) const
inlinefinaloverridevirtual

Virtual constructor.

Implements Trk::VolumeBounds.

Definition at line 153 of file TrapezoidVolumeBounds.h.

153  {
154  return new TrapezoidVolumeBounds(*this);
155 }

◆ decomposeToSurfaces()

const std::vector< const Trk::Surface * > * Trk::TrapezoidVolumeBounds::decomposeToSurfaces ( const Amg::Transform3D transform)
finaloverridevirtual

Method to decompose the Bounds into Surfaces.

Implements Trk::VolumeBounds.

Definition at line 104 of file TrapezoidVolumeBounds.cxx.

106 {
107  std::vector<const Trk::Surface*>* retsf =
108  new std::vector<const Trk::Surface*>;
109 
110  // face surfaces xy
111  Amg::RotationMatrix3D trapezoidRotation(transform.rotation());
112  Amg::Vector3D trapezoidX(trapezoidRotation.col(0));
113  Amg::Vector3D trapezoidY(trapezoidRotation.col(1));
114  Amg::Vector3D trapezoidZ(trapezoidRotation.col(2));
115  Amg::Vector3D trapezoidCenter(transform.translation());
116 
117  // (1) - at negative local z
118  retsf->push_back(new Trk::PlaneSurface(
120  transform *
121  Amg::AngleAxis3D(180 * Gaudi::Units::deg, Amg::Vector3D(0., 1., 0.)) *
122  Amg::Translation3D(Amg::Vector3D(0., 0., this->halflengthZ()))),
123  this->faceXYTrapezoidBounds()));
124  // (2) - at positive local z
125  retsf->push_back(new Trk::PlaneSurface(
127  transform *
128  Amg::Translation3D(Amg::Vector3D(0., 0., this->halflengthZ()))),
129  this->faceXYTrapezoidBounds()));
130  // face surfaces yz
131  // transmute cyclical
132  // (3) - at point A, attached to alpha opening angle
134  this->minHalflengthX(), this->halflengthY(), trapezoidCenter.z());
135  Amg::RotationMatrix3D alphaZRotation =
136  (s_idRotation *
137  Amg::AngleAxis3D(this->alpha() - 0.5 * M_PI, Amg::Vector3D(0., 0., 1.)))
138  .toRotationMatrix();
139  // CLHEP::HepRotation alphaRotation(alphaZRotation*trapezoidRotation);
140  Amg::RotationMatrix3D faceAlphaRotation;
141  faceAlphaRotation.col(0) = alphaZRotation.col(1);
142  faceAlphaRotation.col(1) = -alphaZRotation.col(2);
143  faceAlphaRotation.col(2) = -alphaZRotation.col(0);
144  RectangleBounds* faceAlphaBounds = this->faceAlphaRectangleBounds();
145  // Amg::Vector3D
146  // faceAlphaPosition(A+faceAlphaRotation.colX()*faceAlphaBounds->halflengthX());
147  Amg::Vector3D faceAlphaPosition0(
148  -0.5 * (this->minHalflengthX() + this->maxHalflengthX()), 0., 0.);
149  Amg::Vector3D faceAlphaPosition = transform * faceAlphaPosition0;
150  retsf->push_back(new Trk::PlaneSurface(
152  (trapezoidRotation * faceAlphaRotation) *
153  Amg::Translation3D(faceAlphaPosition)),
154  faceAlphaBounds));
155  // (4) - at point B, attached to beta opening angle
157  this->minHalflengthX(), -this->halflengthY(), trapezoidCenter.z());
158  Amg::RotationMatrix3D betaZRotation =
159  (s_idRotation *
160  Amg::AngleAxis3D(-(this->beta() - 0.5 * M_PI), Amg::Vector3D(0., 0., 1.)))
161  .toRotationMatrix();
162  // CLHEP::HepRotation betaRotation(betaZRotation*trapezoidRotation);
163  Amg::RotationMatrix3D faceBetaRotation;
164  faceBetaRotation.col(0) = betaZRotation.col(1);
165  faceBetaRotation.col(1) = betaZRotation.col(2);
166  faceBetaRotation.col(2) = betaZRotation.col(0);
167  RectangleBounds* faceBetaBounds = this->faceBetaRectangleBounds();
168  // Amg::Vector3D
169  // faceBetaPosition(B+faceBetaRotation.colX()*faceBetaBounds->halflengthX());
170  Amg::Vector3D faceBetaPosition0(
171  0.5 * (this->minHalflengthX() + this->maxHalflengthX()), 0., 0.);
172  Amg::Vector3D faceBetaPosition = transform * faceBetaPosition0;
173  retsf->push_back(new Trk::PlaneSurface(
175  trapezoidRotation * faceBetaRotation *
176  Amg::Translation3D(faceBetaPosition)),
177  faceBetaBounds));
178  // face surfaces zx
179  // (5) - at negative local x
180  retsf->push_back(new Trk::PlaneSurface(
182  transform *
183  Amg::AngleAxis3D(180. * Gaudi::Units::deg, Amg::Vector3D(1., 0., 0.)) *
184  Amg::Translation3D(Amg::Vector3D(0., this->halflengthY(), 0.)) *
185  Amg::AngleAxis3D(-90 * Gaudi::Units::deg, Amg::Vector3D(0., 1., 0.)) *
186  Amg::AngleAxis3D(-90. * Gaudi::Units::deg, Amg::Vector3D(1., 0., 0.))),
187  this->faceZXRectangleBoundsBottom()));
188  // (6) - at positive local x
189  retsf->push_back(new Trk::PlaneSurface(
191  transform *
192  Amg::Translation3D(Amg::Vector3D(0., this->halflengthY(), 0.)) *
193  Amg::AngleAxis3D(-90 * Gaudi::Units::deg, Amg::Vector3D(0., 1., 0.)) *
194  Amg::AngleAxis3D(-90. * Gaudi::Units::deg, Amg::Vector3D(1., 0., 0.))),
195  this->faceZXRectangleBoundsTop()));
196 
197  return retsf;
198 }

◆ dump() [1/2]

MsgStream & Trk::TrapezoidVolumeBounds::dump ( MsgStream &  sl) const
finaloverridevirtual

Output Method for MsgStream.

Implements Trk::VolumeBounds.

Definition at line 251 of file TrapezoidVolumeBounds.cxx.

252 {
253  std::stringstream temp_sl;
254  temp_sl << std::setiosflags(std::ios::fixed);
255  temp_sl << std::setprecision(7);
256  temp_sl
257  << "Trk::TrapezoidVolumeBounds: (minhalfX, halfY, halfZ, alpha, beta) = ";
258  temp_sl << "(" << m_minHalfX << ", " << m_halfY << ", " << m_halfZ;
259  temp_sl << ", " << m_alpha << ", " << m_beta << ")";
260  sl << temp_sl.str();
261  return sl;
262 }

◆ dump() [2/2]

std::ostream & Trk::TrapezoidVolumeBounds::dump ( std::ostream &  sl) const
finaloverridevirtual

Output Method for std::ostream.

Implements Trk::VolumeBounds.

Definition at line 265 of file TrapezoidVolumeBounds.cxx.

266 {
267  std::stringstream temp_sl;
268  temp_sl << std::setiosflags(std::ios::fixed);
269  temp_sl << std::setprecision(7);
270  temp_sl
271  << "Trk::TrapezoidVolumeBounds: (minhalfX, halfY, halfZ, alpha, beta) = ";
272  temp_sl << "(" << m_minHalfX << ", " << m_halfY << ", " << m_halfZ;
273  temp_sl << ", " << m_alpha << ", " << m_beta << ")";
274  sl << temp_sl.str();
275  return sl;
276 }

◆ faceAlphaRectangleBounds()

Trk::RectangleBounds * Trk::TrapezoidVolumeBounds::faceAlphaRectangleBounds ( ) const
private

This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negative local x)

Definition at line 209 of file TrapezoidVolumeBounds.cxx.

210 {
211  return new Trk::RectangleBounds(m_halfY / cos(m_alpha - 0.5 * M_PI), m_halfZ);
212 }

◆ faceBetaRectangleBounds()

Trk::RectangleBounds * Trk::TrapezoidVolumeBounds::faceBetaRectangleBounds ( ) const
private

This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive local x)

Definition at line 215 of file TrapezoidVolumeBounds.cxx.

216 {
217  return new Trk::RectangleBounds(m_halfY / cos(m_beta - 0.5 * M_PI), m_halfZ);
218 }

◆ faceXYTrapezoidBounds()

Trk::TrapezoidBounds * Trk::TrapezoidVolumeBounds::faceXYTrapezoidBounds ( ) const
private

This method returns the associated TrapezoidBounds of the face PlaneSurface parallel to local xy plane.

Definition at line 202 of file TrapezoidVolumeBounds.cxx.

203 {
204  // return new Trk::TrapezoidBounds(m_minHalfX,m_halfY, m_alpha, m_beta);
206 }

◆ faceZXRectangleBoundsBottom()

Trk::RectangleBounds * Trk::TrapezoidVolumeBounds::faceZXRectangleBoundsBottom ( ) const
private

This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, negative local y.

Definition at line 221 of file TrapezoidVolumeBounds.cxx.

222 {
224 }

◆ faceZXRectangleBoundsTop()

Trk::RectangleBounds * Trk::TrapezoidVolumeBounds::faceZXRectangleBoundsTop ( ) const
private

This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane, positive local y.

Definition at line 227 of file TrapezoidVolumeBounds.cxx.

228 {
229  // double delta = (m_alpha < m_beta) ? m_alpha - M_PI/2. : m_beta - M_PI/2.;
230  // return new Trk::RectangleBounds(m_halfZ,
231  // 0.5*(m_minHalfX+m_minHalfX+2.*m_halfY/cos(delta)));
233 }

◆ halflengthY()

double Trk::TrapezoidVolumeBounds::halflengthY ( ) const
inline

This method returns the halflength in local y.

Definition at line 163 of file TrapezoidVolumeBounds.h.

163 { return m_halfY; }

◆ halflengthZ()

double Trk::TrapezoidVolumeBounds::halflengthZ ( ) const
inline

This method returns the halflength in local z.

Definition at line 164 of file TrapezoidVolumeBounds.h.

164 { return m_halfZ; }

◆ inside()

bool Trk::TrapezoidVolumeBounds::inside ( const Amg::Vector3D pos,
double  tol = 0. 
) const
finaloverridevirtual

This method checks if position in the 3D volume frame is inside the cylinder.

Implements Trk::VolumeBounds.

Definition at line 236 of file TrapezoidVolumeBounds.cxx.

237 {
238  if (std::abs(pos.z()) > m_halfZ + tol)
239  return false;
240  if (std::abs(pos.y()) > m_halfY + tol)
241  return false;
242  Trk::TrapezoidBounds* faceXYBounds = this->faceXYTrapezoidBounds();
243  Amg::Vector2D locp(pos.x(), pos.y());
244  bool inside(faceXYBounds->inside(locp, tol, tol));
245  delete faceXYBounds;
246  return inside;
247 }

◆ maxHalflengthX()

double Trk::TrapezoidVolumeBounds::maxHalflengthX ( ) const
inline

This method returns the maximal halflength in local x.

Definition at line 160 of file TrapezoidVolumeBounds.h.

160  {
161  return m_maxHalfX;
162 }

◆ minHalflengthX()

double Trk::TrapezoidVolumeBounds::minHalflengthX ( ) const
inline

This method returns the minimal halflength in local x.

Definition at line 157 of file TrapezoidVolumeBounds.h.

157  {
158  return m_minHalfX;
159 }

◆ operator=()

Trk::TrapezoidVolumeBounds & Trk::TrapezoidVolumeBounds::operator= ( const TrapezoidVolumeBounds bobo)

Assignment operator.

Definition at line 89 of file TrapezoidVolumeBounds.cxx.

90 {
91  if (this != &trabo) {
92  m_minHalfX = trabo.m_minHalfX;
93  m_maxHalfX = trabo.m_maxHalfX;
94  m_halfY = trabo.m_halfY;
95  m_halfZ = trabo.m_halfZ;
96  m_alpha = trabo.m_alpha;
97  m_beta = trabo.m_beta;
98  m_objectAccessor = trabo.m_objectAccessor;
99  }
100  return *this;
101 }

Member Data Documentation

◆ m_alpha

double Trk::TrapezoidVolumeBounds::m_alpha
private

opening angle alpha (in point A)

Definition at line 145 of file TrapezoidVolumeBounds.h.

◆ m_beta

double Trk::TrapezoidVolumeBounds::m_beta
private

opening angle beta (in point B)

Definition at line 146 of file TrapezoidVolumeBounds.h.

◆ m_halfY

double Trk::TrapezoidVolumeBounds::m_halfY
private

halflength in y

Definition at line 142 of file TrapezoidVolumeBounds.h.

◆ m_halfZ

double Trk::TrapezoidVolumeBounds::m_halfZ
private

halflength in z

Definition at line 143 of file TrapezoidVolumeBounds.h.

◆ m_maxHalfX

double Trk::TrapezoidVolumeBounds::m_maxHalfX
private

maximal halflength in x

Definition at line 141 of file TrapezoidVolumeBounds.h.

◆ m_minHalfX

double Trk::TrapezoidVolumeBounds::m_minHalfX
private

minimal halflength in x

Definition at line 140 of file TrapezoidVolumeBounds.h.

◆ m_objectAccessor

SixObjectsAccessor Trk::TrapezoidVolumeBounds::m_objectAccessor
private

There's only one single object Acessor for the moment has to be implemented if Cuboids are used more widely.

Definition at line 150 of file TrapezoidVolumeBounds.h.


The documentation for this class was generated from the following files:
Trk::TrapezoidVolumeBounds::maxHalflengthX
double maxHalflengthX() const
This method returns the maximal halflength in local x.
Definition: TrapezoidVolumeBounds.h:160
Trk::RectangleBounds
Definition: RectangleBounds.h:38
Trk::TrapezoidVolumeBounds::minHalflengthX
double minHalflengthX() const
This method returns the minimal halflength in local x.
Definition: TrapezoidVolumeBounds.h:157
Trk::TrapezoidVolumeBounds::m_alpha
double m_alpha
opening angle alpha (in point A)
Definition: TrapezoidVolumeBounds.h:145
Trk::TrapezoidVolumeBounds::faceBetaRectangleBounds
RectangleBounds * faceBetaRectangleBounds() const
This method returns the associated RecantleBounds of the face PlaneSurface attached to beta (positive...
Definition: TrapezoidVolumeBounds.cxx:215
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Trk::TrapezoidVolumeBounds::m_objectAccessor
SixObjectsAccessor m_objectAccessor
There's only one single object Acessor for the moment has to be implemented if Cuboids are used more ...
Definition: TrapezoidVolumeBounds.h:150
M_PI
#define M_PI
Definition: ActiveFraction.h:11
deg
#define deg
Definition: SbPolyhedron.cxx:17
Trk::TrapezoidVolumeBounds::faceAlphaRectangleBounds
RectangleBounds * faceAlphaRectangleBounds() const
This method returns the associated RecantleBounds of the face PlaneSurface attached to alpha (negativ...
Definition: TrapezoidVolumeBounds.cxx:209
Trk::TrapezoidBounds::inside
virtual bool inside(const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const override
The orientation of the Trapezoid is according to the figure above, in words: the shorter of the two p...
Definition: TrapezoidBounds.cxx:139
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
Trk::TrapezoidVolumeBounds::faceZXRectangleBoundsBottom
RectangleBounds * faceZXRectangleBoundsBottom() const
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane...
Definition: TrapezoidVolumeBounds.cxx:221
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
Trk::TrapezoidVolumeBounds::halflengthY
double halflengthY() const
This method returns the halflength in local y.
Definition: TrapezoidVolumeBounds.h:163
Trk::TrapezoidVolumeBounds::m_beta
double m_beta
opening angle beta (in point B)
Definition: TrapezoidVolumeBounds.h:146
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
TrigVtx::gamma
@ gamma
Definition: TrigParticleTable.h:26
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
Trk::TrapezoidVolumeBounds::TrapezoidVolumeBounds
TrapezoidVolumeBounds()
Default Constructor.
Definition: TrapezoidVolumeBounds.cxx:26
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
Trk::TrapezoidVolumeBounds::m_halfY
double m_halfY
halflength in y
Definition: TrapezoidVolumeBounds.h:142
Trk::TrapezoidVolumeBounds::m_minHalfX
double m_minHalfX
minimal halflength in x
Definition: TrapezoidVolumeBounds.h:140
Trk::TrapezoidVolumeBounds::inside
bool inside(const Amg::Vector3D &, double tol=0.) const override final
This method checks if position in the 3D volume frame is inside the cylinder.
Definition: TrapezoidVolumeBounds.cxx:236
Trk::TrapezoidVolumeBounds::faceZXRectangleBoundsTop
RectangleBounds * faceZXRectangleBoundsTop() const
This method returns the associated RecantleBounds of the face PlaneSurface parallel to local zx plane...
Definition: TrapezoidVolumeBounds.cxx:227
Trk::TrapezoidVolumeBounds::faceXYTrapezoidBounds
TrapezoidBounds * faceXYTrapezoidBounds() const
This method returns the associated TrapezoidBounds of the face PlaneSurface parallel to local xy plan...
Definition: TrapezoidVolumeBounds.cxx:202
dqt_zlumi_alleff_HIST.B
B
Definition: dqt_zlumi_alleff_HIST.py:110
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::TrapezoidBounds
Definition: TrapezoidBounds.h:43
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Trk::TrapezoidVolumeBounds::alpha
double alpha() const
This method returns the opening angle in point A (negative local x)
Definition: TrapezoidVolumeBounds.h:165
Trk::ObjectAccessor
Definition: ObjectAccessor.h:15
Trk::TrapezoidVolumeBounds::m_maxHalfX
double m_maxHalfX
maximal halflength in x
Definition: TrapezoidVolumeBounds.h:141
Trk::PlaneSurface
Definition: PlaneSurface.h:64
Amg::RotationMatrix3D
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Definition: GeoPrimitives.h:49
Trk::TrapezoidVolumeBounds::beta
double beta() const
This method returns the opening angle in point B (negative local x)
Definition: TrapezoidVolumeBounds.h:166
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
Amg::AngleAxis3D
Eigen::AngleAxisd AngleAxis3D
Definition: GeoPrimitives.h:45
Trk::TrapezoidVolumeBounds::halflengthZ
double halflengthZ() const
This method returns the halflength in local z.
Definition: TrapezoidVolumeBounds.h:164
Trk::TrapezoidVolumeBounds::m_halfZ
double m_halfZ
halflength in z
Definition: TrapezoidVolumeBounds.h:143
Trk::VolumeBounds::VolumeBounds
VolumeBounds()
Default Constructor.
Definition: VolumeBounds.h:48