#include <MTDSectorForwardDoubleLayer.h>
Public Member Functions | |
const MTDSectorForwardLayer * | backLayer () const |
const std::vector< const GeomDet * > & | basicComponents () const override |
std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override |
std::vector< DetWithState > | compatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const override |
const std::vector< const GeometricSearchDet * > & | components () const override |
Returns basic components, if any. More... | |
const MTDSectorForwardLayer * | frontLayer () const |
std::vector< DetGroup > | groupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const override |
bool | isCrack (const GlobalPoint &gp) const |
bool | isInsideOut (const TrajectoryStateOnSurface &tsos) const |
MTDSectorForwardDoubleLayer (const std::vector< const MTDDetSector *> &frontSectors, const std::vector< const MTDDetSector *> &backSectors) | |
Constructor, takes ownership of pointers. More... | |
virtual const std::vector< const MTDDetSector * > & | sectors () const |
Return the vector of sectors. More... | |
void | selfTest () const |
SubDetector | subDetector () const override |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) More... | |
~MTDSectorForwardDoubleLayer () override | |
Public Member Functions inherited from ForwardDetLayer | |
std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override |
bool | contains (const Local3DPoint &p) const |
ForwardDetLayer (bool doHaveGroups) | |
Location | location () const final |
Which part of the detector (barrel, endcap) More... | |
virtual const BoundDisk & | specificSurface () const final |
const BoundSurface & | surface () const final |
The surface of the GeometricSearchDet. More... | |
~ForwardDetLayer () override | |
Public Member Functions inherited from DetLayer | |
DetLayer (bool doHaveGroup, bool ibar) | |
bool | isBarrel () const |
bool | isForward () const |
int | seqNum () const |
void | setSeqNum (int sq) |
~DetLayer () override | |
Public Member Functions inherited from GeometricSearchDet | |
virtual void | compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const |
GeometricSearchDet (bool doHaveGroups) | |
virtual void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const |
bool | hasGroups () const |
virtual const Surface::PositionType & | position () const |
Returns position of the surface. More... | |
virtual | ~GeometricSearchDet () |
Protected Member Functions | |
BoundDisk * | computeSurface () override |
Protected Member Functions inherited from ForwardDetLayer | |
SimpleDiskBounds const & | bounds () const |
virtual void | initialize () |
float | rmax () const |
float | rmin () const |
void | setSurface (BoundDisk *cp) |
float | zmax () const |
float | zmin () const |
Private Attributes | |
MTDSectorForwardLayer | theBackLayer |
std::vector< const GeomDet * > | theBasicComponents |
std::vector< const GeometricSearchDet * > | theComponents |
MTDSectorForwardLayer | theFrontLayer |
std::vector< const MTDDetSector * > | theSectors |
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 | |
bool | haveGroups |
GeomDetCompatibilityChecker | theCompatibilityChecker |
Definition at line 11 of file MTDSectorForwardDoubleLayer.h.
MTDSectorForwardDoubleLayer::MTDSectorForwardDoubleLayer | ( | const std::vector< const MTDDetSector *> & | frontSectors, |
const std::vector< const MTDDetSector *> & | backSectors | ||
) |
Constructor, takes ownership of pointers.
Definition at line 17 of file MTDSectorForwardDoubleLayer.cc.
References basicComponents(), computeSurface(), alignBH_cfg::fixed, LogTrace, selfTest(), ForwardDetLayer::setSurface(), ForwardDetLayer::specificSurface(), theBasicComponents, theComponents, and theSectors.
|
inlineoverride |
Definition at line 17 of file MTDSectorForwardDoubleLayer.h.
|
inline |
Definition at line 51 of file MTDSectorForwardDoubleLayer.h.
References theBackLayer.
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 21 of file MTDSectorForwardDoubleLayer.h.
References theBasicComponents.
Referenced by MTDSectorForwardDoubleLayer().
|
overridevirtual |
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.
Implements GeometricSearchDet.
Definition at line 69 of file MTDSectorForwardDoubleLayer.cc.
References funct::abs(), Surface::bounds(), PbPb_ZMuSkimMuonDPG_cff::deltaR, submitPVResolutionJobs::err, TrajectoryStateOnSurface::hasError(), insideOut, isInsideOut(), TrajectoryStateOnSurface::isValid(), TrajectoryStateOnSurface::localDirection(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localPosition(), LogTrace, HLTSiStripMonitoring_cff::nSigma, 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(), createJobs::tmp, ForwardDetLayer::zmax(), and ForwardDetLayer::zmin().
Referenced by compatibleDets().
|
overridevirtual |
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 99 of file MTDSectorForwardDoubleLayer.cc.
References compatible(), groupedCompatibleDets(), LogTrace, and mps_fire::result.
|
inlineoverridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 23 of file MTDSectorForwardDoubleLayer.h.
References theComponents.
|
overrideprotectedvirtual |
Reimplemented from ForwardDetLayer.
Definition at line 46 of file MTDSectorForwardDoubleLayer.cc.
References SiStripPI::max, SiStripPI::min, ForwardDetLayer::rmax(), ForwardDetLayer::rmin(), makeMuonMisalignmentScenario::rot, ForwardDetLayer::specificSurface(), theBackLayer, theFrontLayer, ForwardDetLayer::zmax(), and ForwardDetLayer::zmin().
Referenced by MTDSectorForwardDoubleLayer().
|
inline |
Definition at line 50 of file MTDSectorForwardDoubleLayer.h.
References theFrontLayer.
|
overridevirtual |
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 126 of file MTDSectorForwardDoubleLayer.cc.
References MTDSectorForwardLayer::compatibleDets(), LogTrace, mps_fire::result, theBackLayer, and theFrontLayer.
Referenced by compatibleDets().
bool MTDSectorForwardDoubleLayer::isCrack | ( | const GlobalPoint & | gp | ) | const |
Definition at line 147 of file MTDSectorForwardDoubleLayer.cc.
References LogTrace, and mps_fire::result.
bool MTDSectorForwardDoubleLayer::isInsideOut | ( | const TrajectoryStateOnSurface & | tsos | ) | const |
Definition at line 65 of file MTDSectorForwardDoubleLayer.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), Basic3DVector< T >::dot(), TrajectoryStateOnSurface::globalMomentum(), and TrajectoryStateOnSurface::globalPosition().
Referenced by compatible().
|
inlinevirtual |
Return the vector of sectors.
Definition at line 46 of file MTDSectorForwardDoubleLayer.h.
References theSectors.
void MTDSectorForwardDoubleLayer::selfTest | ( | ) | const |
Definition at line 154 of file MTDSectorForwardDoubleLayer.cc.
References funct::abs(), cms::cuda::assert(), MTDSectorForwardLayer::basicComponents(), theBackLayer, and theFrontLayer.
Referenced by MTDSectorForwardDoubleLayer().
|
inlineoverridevirtual |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Implements DetLayer.
Definition at line 41 of file MTDSectorForwardDoubleLayer.h.
References MTDSectorForwardLayer::subDetector(), and theBackLayer.
|
private |
Definition at line 60 of file MTDSectorForwardDoubleLayer.h.
Referenced by backLayer(), compatible(), computeSurface(), groupedCompatibleDets(), selfTest(), and subDetector().
|
private |
Definition at line 63 of file MTDSectorForwardDoubleLayer.h.
Referenced by basicComponents(), and MTDSectorForwardDoubleLayer().
|
private |
Definition at line 62 of file MTDSectorForwardDoubleLayer.h.
Referenced by components(), and MTDSectorForwardDoubleLayer().
|
private |
Definition at line 59 of file MTDSectorForwardDoubleLayer.h.
Referenced by compatible(), computeSurface(), frontLayer(), groupedCompatibleDets(), and selfTest().
|
private |
Definition at line 61 of file MTDSectorForwardDoubleLayer.h.
Referenced by MTDSectorForwardDoubleLayer(), and sectors().