Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/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 | |
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. | |
ExtentEnvelope | envelope = zeroEnvelopes |
The envelope parameters. | |
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 28 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 28 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 26 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 26 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 32 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 32 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 89 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 89 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 46 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 46 of file ProtoLayer.cpp
References envelope, extent, Acts::Extent::max(), and physmon_ckf_tracking::u.
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 67 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 67 of file ProtoLayer.cpp
References fixGDML::element, 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 53 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 53 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 39 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 39 of file ProtoLayer.cpp
References envelope, extent, Acts::Extent::min(), and physmon_ckf_tracking::u.
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 57 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 57 of file ProtoLayer.cpp
Referenced by Acts::LayerCreator::cylinderLayer(), and Acts::LayerCreator::discLayer().
|
inline |
Give access to the surfaces used/assigned to the ProtoLayer.
Definition at line 104 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 104 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 61 of file ProtoLayer.cpp.
View newest version in sPHENIX GitHub at line 61 of file ProtoLayer.cpp
References extent, and Acts::Extent::toString().
Referenced by Acts::DD4hepLayerBuilder::centralLayers(), and Acts::DD4hepLayerBuilder::endcapLayers().
ExtentEnvelope Acts::ProtoLayer::envelope = zeroEnvelopes |
The envelope parameters.
Definition at line 34 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 34 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(), Acts::Test::CylindricalTrackingGeometry::operator()(), Acts::LayerCreator::planeLayer(), and Acts::KDTreeTrackingGeometryBuilder::translateLayer().
Extent Acts::ProtoLayer::extent |
The extent of the ProtoLayer.
Definition at line 31 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 31 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 101 of file ProtoLayer.hpp.
View newest version in sPHENIX GitHub at line 101 of file ProtoLayer.hpp
Referenced by add(), ProtoLayer(), and surfaces().