ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/master/Core/include/Acts/Geometry/ProtoLayer.hpp>
Public Member Functions | |
ProtoLayer (const GeometryContext &gctx, const std::vector< const Surface * > &surfaces) | |
ProtoLayer (const GeometryContext &gctx, const std::vector< std::shared_ptr< const Surface >> &surfaces) | |
ProtoLayer ()=default | |
std::ostream & | toStream (std::ostream &sl) const |
double | radialDistance (const Vector3D &pos1, const Vector3D &pos2) const |
Public Attributes | |
double | maxX |
double | minX |
double | maxY |
double | minY |
double | maxZ |
double | minZ |
double | maxR |
double | minR |
double | maxPhi |
double | minPhi |
std::pair< double, double > | envX = {0, 0} |
std::pair< double, double > | envY = {0, 0} |
std::pair< double, double > | envZ = {0, 0} |
std::pair< double, double > | envR = {0, 0} |
std::pair< double, double > | envPhi = {0, 0} |
Private Member Functions | |
void | measure (const GeometryContext &gctx, const std::vector< const Surface * > &surfaces) |
Encapsulates min/max boundaries that will be turned into a layer. The struct allows this information to be obtained in a consistent way, or be caller provided.
Definition at line 24 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 24 of file ProtoLayer.hpp
Acts::ProtoLayer::ProtoLayer | ( | const GeometryContext & | gctx, |
const std::vector< const Surface * > & | surfaces | ||
) |
Constructor
Loops over a provided vector of surface and calculates the various min/max values in one go. Also takes into account the thickness of an associated DetectorElement, if it exists.
gctx | The current geometry context object, e.g. alignment |
surfaces | The vector of surfaces to consider |
Definition at line 24 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 24 of file ProtoLayer.cpp
References measure().
Acts::ProtoLayer::ProtoLayer | ( | const GeometryContext & | gctx, |
const std::vector< std::shared_ptr< const Surface >> & | surfaces | ||
) |
Constructor
Loops over a provided vector of surface and calculates the various min/max values in one go. Also takes into account the thickness of an associated DetectorElement, if it exists.
gctx | The current geometry context object, e.g. alignment |
surfaces | The vector of surfaces to consider |
Definition at line 29 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 29 of file ProtoLayer.cpp
References measure(), and Acts::unpack_shared_vector().
|
default |
|
private |
Helper method which performs the actual min/max calculation
gctx | The current geometry context object, e.g. alignment |
surfaces | The surfaces to build this protolayer out of |
Definition at line 72 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 72 of file ProtoLayer.cpp
References Acts::CylinderSurface::bounds(), Acts::Surface::center(), Acts::CylinderBounds::eAveragePhi, Acts::CylinderBounds::eHalfLengthZ, Acts::CylinderBounds::eHalfPhiSector, envPhi, envR, envX, envY, envZ, Acts::CylinderBounds::eR, Acts::Polyhedron::faces, Acts::CylinderBounds::get(), max, maxPhi, maxR, maxX, maxY, maxZ, min, minPhi, minR, minX, minY, minZ, Acts::VectorHelpers::perp(), phi, Acts::AnnulusBounds::phiMax(), Acts::AnnulusBounds::phiMin(), Acts::CylinderSurface::polyhedronRepresentation(), r, radialDistance(), Acts::AnnulusBounds::rMax(), Acts::AnnulusBounds::rMin(), thickness, Acts::DetectorElementBase::thickness(), Acts::Surface::transform(), Acts::UnitConstants::u, Acts::PlanarBounds::vertices(), Acts::Polyhedron::vertices, and z.
Referenced by ProtoLayer().
Calculates the closest radial distance of a line
pos1 | is the first position on the line |
pos2 | is the second position on the line |
Definition at line 35 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 35 of file ProtoLayer.cpp
References e, f, L, max, min, and norm.
Referenced by Acts::Test::Layers::BOOST_AUTO_TEST_CASE(), and measure().
std::ostream & Acts::ProtoLayer::toStream | ( | std::ostream & | sl | ) | const |
std::pair<double, double> Acts::ProtoLayer::envPhi = {0, 0} |
Definition at line 45 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 45 of file ProtoLayer.hpp
Referenced by measure(), and toStream().
std::pair<double, double> Acts::ProtoLayer::envR = {0, 0} |
Definition at line 44 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 44 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::TGeoLayerBuilder::buildLayers(), Acts::DD4hepLayerBuilder::centralLayers(), FW::Generic::ProtoLayerCreatorT< detector_element_t >::centralProtoLayers(), FW::Generic::ProtoLayerCreatorT< detector_element_t >::createProtoLayers(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), measure(), Acts::Test::CylindricalTrackingGeometry::operator()(), and toStream().
std::pair<double, double> Acts::ProtoLayer::envX = {0, 0} |
Definition at line 41 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 41 of file ProtoLayer.hpp
Referenced by measure().
std::pair<double, double> Acts::ProtoLayer::envY = {0, 0} |
Definition at line 42 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 42 of file ProtoLayer.hpp
Referenced by measure().
std::pair<double, double> Acts::ProtoLayer::envZ = {0, 0} |
Definition at line 43 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 43 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::TGeoLayerBuilder::buildLayers(), Acts::DD4hepLayerBuilder::centralLayers(), FW::Generic::ProtoLayerCreatorT< detector_element_t >::centralProtoLayers(), FW::Generic::ProtoLayerCreatorT< detector_element_t >::createProtoLayers(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), measure(), and toStream().
double Acts::ProtoLayer::maxPhi |
Definition at line 38 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 38 of file ProtoLayer.hpp
Referenced by Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), measure(), and toStream().
double Acts::ProtoLayer::maxR |
Definition at line 35 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 35 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::DD4hepLayerBuilder::centralLayers(), Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), measure(), Acts::SurfaceArrayCreator::surfaceArrayOnCylinder(), and toStream().
double Acts::ProtoLayer::maxX |
Definition at line 26 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 26 of file ProtoLayer.hpp
Referenced by Acts::SurfaceArrayCreator::createEquidistantAxis(), measure(), and Acts::LayerCreator::planeLayer().
double Acts::ProtoLayer::maxY |
Definition at line 29 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 29 of file ProtoLayer.hpp
Referenced by Acts::SurfaceArrayCreator::createEquidistantAxis(), measure(), and Acts::LayerCreator::planeLayer().
double Acts::ProtoLayer::maxZ |
Definition at line 32 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 32 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::DD4hepLayerBuilder::centralLayers(), Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), measure(), Acts::LayerCreator::planeLayer(), Acts::SurfaceArrayCreator::surfaceArrayOnDisc(), and toStream().
double Acts::ProtoLayer::minPhi |
Definition at line 39 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 39 of file ProtoLayer.hpp
Referenced by Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), measure(), and toStream().
double Acts::ProtoLayer::minR |
Definition at line 36 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 36 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::DD4hepLayerBuilder::centralLayers(), Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), measure(), Acts::SurfaceArrayCreator::surfaceArrayOnCylinder(), and toStream().
double Acts::ProtoLayer::minX |
Definition at line 27 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 27 of file ProtoLayer.hpp
Referenced by Acts::SurfaceArrayCreator::createEquidistantAxis(), measure(), and Acts::LayerCreator::planeLayer().
double Acts::ProtoLayer::minY |
Definition at line 30 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 30 of file ProtoLayer.hpp
Referenced by Acts::SurfaceArrayCreator::createEquidistantAxis(), measure(), and Acts::LayerCreator::planeLayer().
double Acts::ProtoLayer::minZ |
Definition at line 33 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 33 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::DD4hepLayerBuilder::centralLayers(), Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), measure(), Acts::LayerCreator::planeLayer(), Acts::SurfaceArrayCreator::surfaceArrayOnDisc(), and toStream().