#include <MuRingForwardDoubleLayer.h>
Public Member Functions | |
const MuRingForwardLayer * | backLayer () const |
virtual const std::vector < const GeomDet * > & | basicComponents () const |
virtual std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const |
virtual std::vector< DetWithState > | compatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
virtual const std::vector < const GeometricSearchDet * > & | components () const |
Returns basic components, if any. More... | |
const MuRingForwardLayer * | frontLayer () const |
virtual std::vector< DetGroup > | groupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
virtual bool | hasGroups () const |
bool | isCrack (const GlobalPoint &gp) const |
bool | isInsideOut (const TrajectoryStateOnSurface &tsos) const |
MuRingForwardDoubleLayer (const std::vector< const ForwardDetRing * > &frontRings, const std::vector< const ForwardDetRing * > &backRings) | |
Constructor, takes ownership of pointers. More... | |
virtual const std::vector < const ForwardDetRing * > & | rings () const |
Return the vector of rings. More... | |
void | selfTest () const |
virtual SubDetector | subDetector () const |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) More... | |
virtual | ~MuRingForwardDoubleLayer () |
Public Member Functions inherited from RingedForwardLayer | |
RingedForwardLayer () | |
virtual | ~RingedForwardLayer () |
Public Member Functions inherited from ForwardDetLayer | |
bool | contains (const Local3DPoint &p) const |
ForwardDetLayer () | |
virtual Location | location () const |
Which part of the detector (barrel, endcap) More... | |
virtual const BoundDisk & | specificSurface () const |
virtual const BoundSurface & | surface () const |
The surface of the GeometricSearchDet. More... | |
virtual | ~ForwardDetLayer () |
Public Member Functions inherited from DetLayer | |
std::vector< const DetLayer * > | compatibleLayers (NavigationDirection direction) const |
std::vector< const DetLayer * > | compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const |
std::vector< const DetLayer * > | compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const |
DetLayer () | |
NavigableLayer * | navigableLayer () const |
Return the NavigableLayer associated with this DetLayer. More... | |
virtual std::vector< const DetLayer * > | nextLayers (NavigationDirection direction) const |
virtual std::vector< const DetLayer * > | nextLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const |
virtual void | setNavigableLayer (NavigableLayer *nlp) |
Set the NavigableLayer associated with this DetLayer. More... | |
virtual | ~DetLayer () |
Public Member Functions inherited from GeometricSearchDet | |
virtual void | compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const |
GeometricSearchDet () | |
virtual void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const |
virtual const Surface::PositionType & | position () const |
Returns position of the surface. More... | |
virtual | ~GeometricSearchDet () |
Protected Member Functions | |
virtual BoundDisk * | computeSurface () |
Protected Member Functions inherited from ForwardDetLayer | |
virtual void | initialize () |
float | rmax () const |
float | rmin () const |
void | setSurface (BoundDisk *cp) |
float | zmax () const |
float | zmin () const |
Private Attributes | |
MuRingForwardLayer | theBackLayer |
std::vector< const GeomDet * > | theBasicComponents |
std::vector< const GeometricSearchDet * > | theComponents |
MuRingForwardLayer | theFrontLayer |
std::vector< const ForwardDetRing * > | theRings |
Additional Inherited Members | |
Public Types inherited from DetLayer | |
typedef GeomDetEnumerators::Location | Location |
typedef GeomDetEnumerators::SubDetector | SubDetector |
Public Types inherited from GeometricSearchDet | |
typedef std::pair< const GeomDet *, TrajectoryStateOnSurface > | DetWithState |
typedef BoundSurface::PositionType | PositionType |
typedef BoundSurface::RotationType | RotationType |
typedef TrajectoryStateOnSurface | TrajectoryState |
Protected Attributes inherited from GeometricSearchDet | |
GeomDetCompatibilityChecker | theCompatibilityChecker |
A plane composed two layers of disks. Represents forward muon CSC stations.
Definition at line 21 of file MuRingForwardDoubleLayer.h.
MuRingForwardDoubleLayer::MuRingForwardDoubleLayer | ( | const std::vector< const ForwardDetRing * > & | frontRings, |
const std::vector< const ForwardDetRing * > & | backRings | ||
) |
Constructor, takes ownership of pointers.
Definition at line 23 of file MuRingForwardDoubleLayer.cc.
References basicComponents(), computeSurface(), BoundDisk::innerRadius(), LogTrace, metname, BoundDisk::outerRadius(), GloballyPositioned< T >::position(), selfTest(), ForwardDetLayer::setSurface(), ForwardDetLayer::specificSurface(), theBasicComponents, theComponents, theRings, and PV3DBase< T, PVType, FrameType >::z().
|
inlinevirtual |
Definition at line 29 of file MuRingForwardDoubleLayer.h.
|
inline |
Definition at line 71 of file MuRingForwardDoubleLayer.h.
References theBackLayer.
|
inlinevirtual |
Implements GeometricSearchDet.
Definition at line 34 of file MuRingForwardDoubleLayer.h.
References theBasicComponents.
Referenced by MuRingForwardDoubleLayer().
|
virtual |
tests the geometrical compatibility of the Det with the predicted state. The FreeTrajectoryState argument is propagated to the Det surface using the Propagator argument. The resulting TrajectoryStateOnSurface is tested for compatibility with the surface bounds. If compatible, a std::pair< true, propagatedState> is returned. If the propagation fails, or if the state is not compatible, a std::pair< false, propagatedState> is returned.
Reimplemented from ForwardDetLayer.
Definition at line 90 of file MuRingForwardDoubleLayer.cc.
References BoundSurface::bounds(), deltaR(), TrajectoryStateOnSurface::hasError(), SimpleDiskBounds::inside(), insideOut, isInsideOut(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localDirection(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localPosition(), LogTrace, metname, LocalTrajectoryError::positionError(), Propagator::propagate(), ForwardDetLayer::rmax(), ForwardDetLayer::rmin(), ForwardDetLayer::specificSurface(), mathSSE::sqrt(), ForwardDetLayer::surface(), funct::tan(), theBackLayer, theFrontLayer, PV3DBase< T, PVType, FrameType >::theta(), Bounds::thickness(), tmp, LocalError::xx(), LocalError::yy(), ForwardDetLayer::zmax(), ForwardDetLayer::zmin(), and zPos.
Referenced by compatibleDets().
|
virtual |
Returns all Dets compatible with a trajectory state according to the estimator est. The startingState should be propagated to the surface of each compatible Det using the Propagator passed as an argument. The default implementation should be overridden in dets with specific surface types to avoid propagation to a generic Surface
Reimplemented from GeometricSearchDet.
Definition at line 135 of file MuRingForwardDoubleLayer.cc.
References compatible(), groupedCompatibleDets(), LogTrace, metname, and query::result.
|
inlinevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 36 of file MuRingForwardDoubleLayer.h.
References theComponents.
|
protectedvirtual |
Reimplemented from ForwardDetLayer.
Definition at line 59 of file MuRingForwardDoubleLayer.cc.
References BoundSurface::bounds(), BoundDisk::innerRadius(), max(), min, BoundDisk::outerRadius(), pos, GloballyPositioned< T >::position(), ForwardDetLayer::rmax(), ForwardDetLayer::rmin(), ForwardDetLayer::specificSurface(), theBackLayer, theFrontLayer, Bounds::thickness(), PV3DBase< T, PVType, FrameType >::z(), ForwardDetLayer::zmax(), ForwardDetLayer::zmin(), and zPos.
Referenced by MuRingForwardDoubleLayer().
|
inline |
Definition at line 70 of file MuRingForwardDoubleLayer.h.
References theFrontLayer.
|
virtual |
Similar to compatibleDets(), but the compatible Dets are grouped in one or more groups. Dets are put in the same group if they are mutually exclusive for track crossing, i.e. a reconstructible track cannot cross more than one Det from a group. Pathological tracks (spirals etc.) can of course violate this rule.
The DetGroups are sorted in the sequence of crossing by a track. In order to define the direction of crossing the Propagator used in this method should have a defined direction() : either "alongMomentum" or "oppositeToMomentum" but not "anyDirection".
The three signatures of this method differ by the input trajectory state arguments: the starting state can be a TrajectoryStateOnSurface or a FreeTrajectoryState, and the state on this CompositeDet may be already known or not. The last two arguments are as for the method compatibleDets().
First signature: The first argument is a TrajectoryStateOnSurface, usually not on the surface of this CompositeDet.
Reimplemented from GeometricSearchDet.
Definition at line 170 of file MuRingForwardDoubleLayer.cc.
References MuRingForwardLayer::compatibleDets(), LogTrace, metname, query::result, theBackLayer, and theFrontLayer.
Referenced by compatibleDets().
|
inlinevirtual |
Implements GeometricSearchDet.
Definition at line 56 of file MuRingForwardDoubleLayer.h.
bool MuRingForwardDoubleLayer::isCrack | ( | const GlobalPoint & | gp | ) | const |
Definition at line 193 of file MuRingForwardDoubleLayer.cc.
References BoundDisk::innerRadius(), LogTrace, metname, BoundDisk::outerRadius(), PV3DBase< T, PVType, FrameType >::perp(), csvReporter::r, query::result, MuRingForwardLayer::rings(), ForwardDetRing::specificSurface(), and theBackLayer.
bool MuRingForwardDoubleLayer::isInsideOut | ( | const TrajectoryStateOnSurface & | tsos | ) | const |
Definition at line 82 of file MuRingForwardDoubleLayer.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), Basic3DVector< T >::dot(), TrajectoryStateOnSurface::globalMomentum(), and TrajectoryStateOnSurface::globalPosition().
Referenced by compatible().
|
inlinevirtual |
Return the vector of rings.
Definition at line 66 of file MuRingForwardDoubleLayer.h.
References theRings.
void MuRingForwardDoubleLayer::selfTest | ( | ) | const |
Definition at line 216 of file MuRingForwardDoubleLayer.cc.
References MuRingForwardLayer::basicComponents(), theBackLayer, and theFrontLayer.
Referenced by MuRingForwardDoubleLayer().
|
inlinevirtual |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Implements DetLayer.
Definition at line 60 of file MuRingForwardDoubleLayer.h.
References MuRingForwardLayer::subDetector(), and theBackLayer.
|
private |
Definition at line 78 of file MuRingForwardDoubleLayer.h.
Referenced by backLayer(), compatible(), computeSurface(), groupedCompatibleDets(), isCrack(), selfTest(), and subDetector().
|
private |
Definition at line 81 of file MuRingForwardDoubleLayer.h.
Referenced by basicComponents(), and MuRingForwardDoubleLayer().
|
private |
Definition at line 80 of file MuRingForwardDoubleLayer.h.
Referenced by components(), and MuRingForwardDoubleLayer().
|
private |
Definition at line 77 of file MuRingForwardDoubleLayer.h.
Referenced by compatible(), computeSurface(), frontLayer(), groupedCompatibleDets(), and selfTest().
|
private |
Definition at line 79 of file MuRingForwardDoubleLayer.h.
Referenced by MuRingForwardDoubleLayer(), and rings().