EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/ProtoLayer.hpp>
Public Types | |
using | Range = std::pair< double, double > |
The envelope parameters. | |
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 | |
double | min (BinningValue bval, bool addenv=true) const |
double | max (BinningValue bval, bool addenv=true) const |
double | medium (BinningValue bval, bool addenv=true) const |
double | range (BinningValue bval, bool addenv=true) const |
std::ostream & | toStream (std::ostream &sl) const |
const std::vector< const Surface * > & | surfaces () const |
Give access to the surfaces used/assigned to the ProtoLayer. | |
void | add (const GeometryContext &gctx, const Surface &surface) |
Public Attributes | |
Extent | extent |
The extent of the ProtoLayer. | |
std::vector< Range > | envelope {(int)binValues, {0., 0.}} |
Private Member Functions | |
void | measure (const GeometryContext &gctx, const std::vector< const Surface * > &surfaces) |
Private Attributes | |
std::vector< const Surface * > | m_surfaces = {} |
Store the list of surfaces used for this proto layer. | |
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 26 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 26 of file ProtoLayer.hpp
using Acts::ProtoLayer::Range = std::pair<double, double> |
The envelope parameters.
Definition at line 32 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 32 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 25 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 25 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 31 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 31 of file ProtoLayer.cpp
References m_surfaces, and measure().
|
default |
void Acts::ProtoLayer::add | ( | const GeometryContext & | gctx, |
const Surface & | surface | ||
) |
Add a surface, this will also increase the extent
gctx | The current geometry context object, e.g. alignment |
surface | The surface which is added to the ProtoLayer |
Definition at line 88 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 88 of file ProtoLayer.cpp
References m_surfaces, and measure().
double Acts::ProtoLayer::max | ( | BinningValue | bval, |
bool | addenv = true |
||
) | const |
bval | The accessed binning value |
addenv | The steering if enevlope is added or not |
Definition at line 45 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 45 of file ProtoLayer.cpp
References envelope, extent, and Acts::Extent::max().
Referenced by Acts::DD4hepLayerBuilder::centralLayers(), Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), medium(), Acts::LayerCreator::planeLayer(), and range().
|
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 66 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 66 of file ProtoLayer.cpp
References Acts::Extent::extend(), extent, thickness, and Acts::DetectorElementBase::thickness().
Referenced by add(), and ProtoLayer().
double Acts::ProtoLayer::medium | ( | BinningValue | bval, |
bool | addenv = true |
||
) | const |
bval | The accessed binning value |
addenv | The steering if enevlope is added or not |
Definition at line 52 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 52 of file ProtoLayer.cpp
Referenced by Acts::TGeoLayerBuilder::buildLayers(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::SurfaceArrayCreator::surfaceArrayOnCylinder(), and Acts::SurfaceArrayCreator::surfaceArrayOnDisc().
double Acts::ProtoLayer::min | ( | BinningValue | bval, |
bool | addenv = true |
||
) | const |
Get the parameters : min
bval | The accessed binning value |
addenv | The steering if enevlope is added or not |
Definition at line 38 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 38 of file ProtoLayer.cpp
References envelope, extent, and Acts::Extent::min().
Referenced by Acts::DD4hepLayerBuilder::centralLayers(), Acts::SurfaceArrayCreator::createEquidistantAxis(), Acts::SurfaceArrayCreator::createVariableAxis(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), medium(), Acts::LayerCreator::planeLayer(), and range().
double Acts::ProtoLayer::range | ( | BinningValue | bval, |
bool | addenv = true |
||
) | const |
bval | The accessed binning value |
addenv | The steering if enevlope is added or not |
Definition at line 56 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 56 of file ProtoLayer.cpp
References kdfinder::abs(), max(), and min().
Referenced by Acts::LayerCreator::cylinderLayer(), and Acts::LayerCreator::discLayer().
|
inline |
Give access to the surfaces used/assigned to the ProtoLayer.
Definition at line 103 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 103 of file ProtoLayer.hpp
References m_surfaces.
std::ostream & Acts::ProtoLayer::toStream | ( | std::ostream & | sl | ) | const |
Output to ostream
sl | the input ostream |
Definition at line 60 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 60 of file ProtoLayer.cpp
References extent, and Acts::Extent::toStream().
std::vector<Range> Acts::ProtoLayer::envelope {(int)binValues, {0., 0.}} |
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::TGeoLayerBuilder::buildLayers(), Acts::DD4hepLayerBuilder::centralLayers(), ActsExamples::Generic::ProtoLayerCreatorT< detector_element_t >::centralProtoLayers(), ActsExamples::Generic::ProtoLayerCreatorT< detector_element_t >::createProtoLayers(), Acts::LayerCreator::cylinderLayer(), Acts::LayerCreator::discLayer(), Acts::DD4hepLayerBuilder::endcapLayers(), max(), min(), and Acts::Test::CylindricalTrackingGeometry::operator()().
Extent Acts::ProtoLayer::extent |
The extent of the ProtoLayer.
Definition at line 29 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 29 of file ProtoLayer.hpp
Referenced by Acts::Test::BOOST_FIXTURE_TEST_CASE(), Acts::DD4hepLayerBuilder::centralLayers(), Acts::DD4hepLayerBuilder::endcapLayers(), max(), measure(), min(), and toStream().
|
private |
Store the list of surfaces used for this proto layer.
Definition at line 100 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 100 of file ProtoLayer.hpp
Referenced by add(), ProtoLayer(), and surfaces().