|
|
#include <TBLayer.h>
|
const std::vector< const GeomDet * > & | basicComponents () const final |
|
const std::vector< const GeometricSearchDet * > & | components () const final __attribute__((cold)) |
| Returns basic components, if any. More...
|
|
void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot)) |
|
SubDetector | subDetector () const final |
| The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) More...
|
|
template<typename TDET > |
| TBLayer (std::vector< const TDET * > &inner, std::vector< const TDET * > &outer, GeomDetEnumerators::SubDetector ime) |
|
| ~TBLayer () override __attribute__((cold)) |
|
| BarrelDetLayer (bool doHaveGroup) |
|
std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const final |
|
bool | contains (const Local3DPoint &p) const |
|
Location | location () const final |
| DetLayer interface. More...
|
|
virtual const BoundCylinder & | specificSurface () const final |
| Extension of the interface. More...
|
|
const BoundSurface & | surface () const final |
| GeometricSearchDet interface. More...
|
|
| ~BarrelDetLayer () override |
|
| DetLayer (bool doHaveGroup, bool ibar) |
|
bool | isBarrel () const |
|
bool | isForward () const |
|
int | seqNum () const |
|
void | setSeqNum (int sq) |
|
| ~DetLayer () override |
|
virtual std::vector< DetWithState > | compatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
|
virtual void | compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const |
|
| GeometricSearchDet (bool doHaveGroups) |
|
virtual std::vector< DetGroup > | groupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
|
bool | hasGroups () const |
|
virtual const Surface::PositionType & | position () const |
| Returns position of the surface. More...
|
|
virtual | ~GeometricSearchDet () |
|
|
bool | addClosest (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot)) |
|
SubLayerCrossings | computeCrossings (const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot)) |
|
virtual std::tuple< bool, int, int > | computeIndexes (GlobalPoint gInnerPoint, GlobalPoint gOuterPoint) const =0 |
|
virtual float | computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const =0 |
|
bool | isPhase2OT () const |
|
bool | isPixel () const |
|
bool | isTIB () const |
|
bool | isTOB () const |
|
virtual void | searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const =0 |
|
const std::vector< const GeometricSearchDet * > & | subLayer (int ind) const |
|
SimpleCylinderBounds const & | bounds () const |
|
virtual BoundCylinder * | computeSurface () |
|
virtual void | initialize () |
|
void | setSurface (BoundCylinder *cp) |
|
Definition at line 10 of file TBLayer.h.
◆ TBLayer()
◆ ~TBLayer()
◆ addClosest()
◆ basicComponents()
const std::vector<const GeomDet*>& TBLayer::basicComponents |
( |
| ) |
const |
|
inlinefinalvirtual |
◆ components()
◆ computeCrossings()
Definition at line 46 of file TBLayer.cc.
57 if (!inBetween && !innerCrossing.hasSolution())
63 if (!innerCrossing.hasSolution() && outerCrossing.hasSolution()) {
64 innerCrossing = outerCrossing;
65 }
else if (!outerCrossing.hasSolution() && innerCrossing.hasSolution()) {
66 outerCrossing = innerCrossing;
72 int innerIndex, outerIndex;
74 std::tie(inLess, innerIndex, outerIndex) =
computeIndexes(gInnerPoint, gOuterPoint);
References computeIndexes(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), HelixBarrelCylinderCrossing::hasSolution(), HelixBarrelCylinderCrossing::onlyPos, perp(), HelixBarrelCylinderCrossing::position(), rho, theInnerCylinder, theOuterCylinder, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
◆ computeIndexes()
virtual std::tuple<bool, int, int> TBLayer::computeIndexes |
( |
GlobalPoint |
gInnerPoint, |
|
|
GlobalPoint |
gOuterPoint |
|
) |
| const |
|
protectedpure virtual |
◆ computeWindowSize()
◆ groupedCompatibleDetsV()
Reimplemented from GeometricSearchDet.
Definition at line 15 of file TBLayer.cc.
24 std::vector<DetGroup> closestResult;
27 if (closestResult.empty()) {
38 std::vector<DetGroup> nextResult;
References addClosest(), LayerCrossingSide::barrelSide(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), isTIB(), SubLayerCrossings::isValid(), eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), mps_fire::result, searchNeighbors(), and svgfig::window().
Referenced by Phase2OTtiltedBarrelLayer::groupedCompatibleDetsV().
◆ isPhase2OT()
bool TBLayer::isPhase2OT |
( |
| ) |
const |
|
inlineprotected |
◆ isPixel()
bool TBLayer::isPixel |
( |
| ) |
const |
|
inlineprotected |
◆ isTIB()
bool TBLayer::isTIB |
( |
| ) |
const |
|
inlineprotected |
◆ isTOB()
bool TBLayer::isTOB |
( |
| ) |
const |
|
inlineprotected |
◆ searchNeighbors()
◆ subDetector()
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Implements DetLayer.
Definition at line 33 of file TBLayer.h.
References me, and GeomDetEnumerators::subDetGeom.
◆ subLayer()
◆ me
◆ theBasicComps
std::vector<const GeomDet*> TBLayer::theBasicComps |
|
protected |
◆ theComps
◆ theInnerComps
◆ theInnerCylinder
◆ theOuterComps
◆ theOuterCylinder
BarrelDetLayer(bool doHaveGroup)
GlobalPoint globalPosition() const
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
double transverseCurvature() const
T perp() const
Magnitude of transverse component.
ReferenceCountingPointer< BoundCylinder > theInnerCylinder
virtual void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const =0
virtual std::tuple< bool, int, int > computeIndexes(GlobalPoint gInnerPoint, GlobalPoint gOuterPoint) const =0
virtual PropagationDirection propagationDirection() const final
static void orderAndMergeTwoLevels(std::vector< DetGroup > &&one, std::vector< DetGroup > &&two, std::vector< DetGroup > &result, int firstIndex, int firstCrossed)
std::vector< const GeometricSearchDet * > theComps
static bool add(const GeometricSearchDet &det, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) __attribute__((hot))
const SubLayerCrossing & closest() const
std::vector< const GeomDet * > theBasicComps
std::vector< const GeometricSearchDet * > theOuterComps
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
int closestDetIndex() const
const std::vector< const GeometricSearchDet * > & subLayer(int ind) const
ReferenceCountingPointer< BoundCylinder > theOuterCylinder
virtual float computeWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const =0
GeomDetEnumerators::SubDetector me
GlobalVector globalMomentum() const
constexpr SubDetector subDetGeom[21]
std::vector< const GeometricSearchDet * > theInnerComps
static int barrelSide(const TrajectoryStateOnSurface &startingState, const Propagator &prop)
returns 0 if barrel layer crossed from inside, 1 if from outside
const SubLayerCrossing & other() const
int subLayerIndex() const
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))