16 unsigned int tracksPerTrajectory) :
18 tracksPerTrajectory_(tracksPerTrajectory),
19 materialEffects_(materialEffects(config.getParameter<std::
string>(
"MaterialEffects"))),
20 propDir_(propagationDirection(config.getParameter<std::
string>(
"PropagationDirection"))),
21 useWithoutDet_(config.getParameter<bool>(
"UseHitWithoutDet")),
22 useInvalidHits_(config.getParameter<bool>(
"UseInvalidHits")),
23 useProjectedHits_(config.getParameter<bool>(
"UseProjectedHits")),
24 useBeamSpot_(config.getParameter<bool>(
"UseBeamSpot")),
25 includeAPEs_(config.getParameter<bool>(
"IncludeAPEs")),
26 allowZeroMaterial_(config.getParameter<bool>(
"AllowZeroMaterial"))
29 <<
"@SUB=TrajectoryFactoryBase"
31 <<
"' with following settings:"
54 Trajectory::DataContainer::iterator itM = trajectoryMeasurements.begin();
57 while ( itM != trajectoryMeasurements.end() )
59 if ( ( *itM ).updatedState().isValid() &&
useRecHit( ( *itM ).recHit() ) )
break;
62 if ( itM != trajectoryMeasurements.end() ) result.first = ( *itM ).updatedState();
65 while ( itM != trajectoryMeasurements.end() )
68 if (
useRecHit( aRecHit ) ) result.second.push_back( aRecHit );
89 reordered.reserve( original.size() );
91 Trajectory::DataContainer::const_reverse_iterator itM;
92 for ( itM = original.rbegin(); itM != original.rend(); ++itM )
94 reordered.push_back( *itM );
114 const GeomDet* det = hitPtr->det();
143 <<
"[TrajectoryFactoryBase::materialEffects] Unknown parameter: " << strME;
155 <<
"[TrajectoryFactoryBase::propagationDirection] Unknown parameter: " << strPD;
const bool useInvalidHits_
T getParameter(std::string const &) const
MaterialEffects materialEffects(void) const
virtual const Trajectory::DataContainer orderedTrajectoryMeasurements(const Trajectory &trajectory) const
AlignmentAlgorithmBase::ConstTrajTrackPair ConstTrajTrackPair
const bool useWithoutDet_
bool useRecHit(const TransientTrackingRecHit::ConstRecHitPointer &hitPtr) const
PropagationDirection const & direction() const
DataContainer const & measurements() const
TrajectoryFactoryBase(const edm::ParameterSet &config)
const bool useProjectedHits_
std::vector< TrajectoryMeasurement > DataContainer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
bool sameSurface(const Surface &s1, const Surface &s2) const
const bool allowZeroMaterial_
virtual const TrajectoryInput innermostStateAndRecHits(const ConstTrajTrackPair &track) const
const PropagationDirection propDir_
const edm::ParameterSet cfg_
PropagationDirection propagationDirection(void) const
std::pair< TrajectoryStateOnSurface, TransientTrackingRecHit::ConstRecHitContainer > TrajectoryInput
virtual ~TrajectoryFactoryBase(void)
const PositionType & position() const
bool isProjected(TrackingRecHit const &hit)