#include <TrapezoidalPlaneBounds.h>
Public Member Functions | |
Bounds * | clone () const override |
bool | inside (const Local2DPoint &p) const override |
bool | inside (const Local3DPoint &p) const override |
Determine if the point is inside the bounds. More... | |
bool | inside (const Local3DPoint &p, const LocalError &err, float scale) const override |
Determine if a point is inside the bounds, taking error into account. More... | |
bool | inside (const Local2DPoint &p, const LocalError &err, float scale) const override |
Determine if a 2D point is inside the bounds, taking error into account. More... | |
float | length () const override |
virtual const std::array< const float, 4 > | parameters () const |
float | thickness () const override |
TrapezoidalPlaneBounds (float be, float te, float a, float t) | |
float | width () const override |
float | widthAtHalfLength () const override |
virtual int | yAxisOrientation () const |
Public Member Functions inherited from Bounds | |
void | computeSpan (Surface const &plane) |
virtual bool | inside (const Local2DPoint &p, float tollerance) const |
Determine if a point is inside the bounds, taking a tollerance into account. More... | |
std::pair< float, float > const & | phiSpan () const |
std::pair< float, float > const & | rSpan () const |
std::pair< float, float > const & | zSpan () const |
virtual | ~Bounds () |
Private Attributes | |
float | hapothem |
float | hbotedge |
float | hthickness |
float | htopedge |
float | offset |
float | tan_a |
Trapezoidal plane bounds. Local Coordinate system coincides with center of the box with Y axis being the symmetry axis along the height and pointing in the direction of top_edge.
Definition at line 16 of file TrapezoidalPlaneBounds.h.
TrapezoidalPlaneBounds::TrapezoidalPlaneBounds | ( | float | be, |
float | te, | ||
float | a, | ||
float | t | ||
) |
constructed from: half bottom edge (smaller side width) half top edge (larger side width) half apothem (distance from top to bottom sides, measured perpendicularly to them) half thickness
Definition at line 7 of file TrapezoidalPlaneBounds.cc.
References funct::abs(), offset, and tan_a.
Referenced by clone().
|
overridevirtual |
Implements Bounds.
Reimplemented in CSCLayerGeometry.
Definition at line 47 of file TrapezoidalPlaneBounds.cc.
References TrapezoidalPlaneBounds().
Referenced by widthAtHalfLength().
|
overridevirtual |
Reimplemented from Bounds.
Reimplemented in CSCLayerGeometry.
Definition at line 23 of file TrapezoidalPlaneBounds.cc.
References funct::abs(), hapothem, offset, tan_a, PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().
Referenced by inside(), and widthAtHalfLength().
|
overridevirtual |
Determine if the point is inside the bounds.
Implements Bounds.
Reimplemented in CSCLayerGeometry.
Definition at line 28 of file TrapezoidalPlaneBounds.cc.
References funct::abs(), hapothem, hthickness, offset, tan_a, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
overridevirtual |
Determine if a point is inside the bounds, taking error into account.
Implements Bounds.
Reimplemented in CSCLayerGeometry.
Definition at line 32 of file TrapezoidalPlaneBounds.cc.
References hapothem, hbotedge, hthickness, htopedge, inside(), mathSSE::sqrt(), tmp, LocalError::xx(), and LocalError::yy().
|
overridevirtual |
Determine if a 2D point is inside the bounds, taking error into account.
Reimplemented from Bounds.
Definition at line 43 of file TrapezoidalPlaneBounds.cc.
References Bounds::inside().
|
inlineoverridevirtual |
apothem (full, not half)
Implements Bounds.
Definition at line 30 of file TrapezoidalPlaneBounds.h.
References hapothem.
Referenced by CSCStripElectronicsSim::addCrosstalk(), Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), operator<<(), Vispa.Views.LineDecayView.DecayLine::paint(), CSCLayerGeometry::possibleRecHitPosition(), and CSCChamberSpecs::stripNoise().
|
virtual |
returns the 4 parameters needed for construction, in the order ( half bottom edge, half top edge, half thickness, half apothem). Beware! This order is different from the one in the constructor!
Definition at line 53 of file TrapezoidalPlaneBounds.cc.
References hapothem, hbotedge, hthickness, and htopedge.
Referenced by HitEff::analyze(), CSCGeometryBuilder::buildChamber(), FWTGeoRecoGeometryESProducer::createShape(), CSCOfflineMonitor::doEfficiencies(), CSCValidation::doEfficiencies(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::inputTags(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::properties(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::recursePSetProperties(), and widthAtHalfLength().
|
inlineoverridevirtual |
thickness (full, not half)
Implements Bounds.
Definition at line 36 of file TrapezoidalPlaneBounds.h.
References hthickness.
Referenced by CSCLayerGeometry::inside(), and operator<<().
|
inlineoverridevirtual |
largest width (full, not half)
Implements Bounds.
Definition at line 33 of file TrapezoidalPlaneBounds.h.
References hbotedge, htopedge, and SiStripPI::max.
Referenced by Vispa.Main.MainWindow.MainWindow::_saveIni(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), Vispa.Gui.VispaWidget.VispaWidget::contentRect(), Vispa.Gui.VispaWidget.VispaWidget::defineArrowBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineCircleBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineRoundRectBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::drawHeaderBackground(), Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortNames(), Vispa.Gui.VispaWidget.VispaWidget::imageRectF(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), Vispa.Views.PropertyView.PropertyView::resizeEvent(), Vispa.Views.PropertyView.PropertyView::sectionResized(), Vispa.Gui.VispaWidget.VispaWidget::setZoom(), and Vispa.Main.MainWindow.MainWindow::updateStartupScreenGeometry().
|
inlineoverridevirtual |
Width at half length. Useful for e.g. pitch definition.
Reimplemented from Bounds.
Definition at line 40 of file TrapezoidalPlaneBounds.h.
References clone(), hbotedge, htopedge, Bounds::inside(), inside(), AlCaHLTBitMon_ParallelJobs::p, parameters(), Scenarios_cff::scale, and yAxisOrientation().
|
virtual |
Definition at line 19 of file TrapezoidalPlaneBounds.cc.
References hbotedge, and htopedge.
Referenced by StripTopologyBuilder::build(), and widthAtHalfLength().
|
private |
Definition at line 66 of file TrapezoidalPlaneBounds.h.
Referenced by inside(), length(), and parameters().
|
private |
Definition at line 64 of file TrapezoidalPlaneBounds.h.
Referenced by inside(), parameters(), width(), widthAtHalfLength(), and yAxisOrientation().
|
private |
Definition at line 67 of file TrapezoidalPlaneBounds.h.
Referenced by inside(), parameters(), and thickness().
|
private |
Definition at line 65 of file TrapezoidalPlaneBounds.h.
Referenced by inside(), parameters(), width(), widthAtHalfLength(), and yAxisOrientation().
|
private |
Definition at line 70 of file TrapezoidalPlaneBounds.h.
Referenced by inside(), and TrapezoidalPlaneBounds().
|
private |
Definition at line 71 of file TrapezoidalPlaneBounds.h.
Referenced by inside(), and TrapezoidalPlaneBounds().