#include <Alignment/KalmanAlignmentAlgorithm/interface/KalmanAlignmentUpdator.h>
Public Types | |
typedef ReferenceTrajectoryBase::ReferenceTrajectoryPtr | ReferenceTrajectoryPtr |
Public Member Functions | |
virtual KalmanAlignmentUpdator * | clone (void) const =0 |
KalmanAlignmentUpdator (const edm::ParameterSet &config) | |
virtual void | process (const ReferenceTrajectoryPtr &trajectory, AlignmentParameterStore *store, AlignableNavigator *navigator, KalmanAlignmentMetricsUpdator *metrics)=0 |
Process some kind of reference trajectory, for instance a single- or two-particle-trajectory, and calculate an improved estimate on the alignment parameters. | |
virtual | ~KalmanAlignmentUpdator (void) |
Protected Member Functions | |
const std::vector< Alignable * > | alignablesFromAlignableDets (const std::vector< AlignableDetOrUnitPtr > &alignableDets, AlignmentParameterStore *store) const |
Returns the Alignables associated with the AlignableDets. | |
void | updateUserVariables (const std::vector< Alignable * > &alignables) const |
Update the AlignmentUserVariables, given that the Alignables hold KalmanAlignmentUserVariables. |
Definition at line 12 of file KalmanAlignmentUpdator.h.
typedef ReferenceTrajectoryBase::ReferenceTrajectoryPtr KalmanAlignmentUpdator::ReferenceTrajectoryPtr |
Definition at line 17 of file KalmanAlignmentUpdator.h.
KalmanAlignmentUpdator::KalmanAlignmentUpdator | ( | const edm::ParameterSet & | config | ) | [inline] |
virtual KalmanAlignmentUpdator::~KalmanAlignmentUpdator | ( | void | ) | [inline, virtual] |
const std::vector< Alignable * > KalmanAlignmentUpdator::alignablesFromAlignableDets | ( | const std::vector< AlignableDetOrUnitPtr > & | alignableDets, | |
AlignmentParameterStore * | store | |||
) | const [protected] |
Returns the Alignables associated with the AlignableDets.
If two or more AlignableDets are assiocated to the same Alignable, the Alignable is returned only once.
Definition at line 28 of file KalmanAlignmentUpdator.cc.
References AlignmentParameterStore::alignableFromAlignableDet().
Referenced by SingleTrajectoryUpdator::process().
00030 { 00031 std::vector< Alignable* > alignables; 00032 00033 std::vector< AlignableDetOrUnitPtr >::const_iterator itAD; 00034 for ( itAD = alignableDets.begin(); itAD != alignableDets.end(); ++itAD ) 00035 { 00036 Alignable* ali = store->alignableFromAlignableDet( *itAD ); 00037 alignables.push_back( ali ); 00038 } 00039 00040 return alignables; 00041 }
virtual KalmanAlignmentUpdator* KalmanAlignmentUpdator::clone | ( | void | ) | const [pure virtual] |
Implemented in DummyUpdator, and SingleTrajectoryUpdator.
virtual void KalmanAlignmentUpdator::process | ( | const ReferenceTrajectoryPtr & | trajectory, | |
AlignmentParameterStore * | store, | |||
AlignableNavigator * | navigator, | |||
KalmanAlignmentMetricsUpdator * | metrics | |||
) | [pure virtual] |
Process some kind of reference trajectory, for instance a single- or two-particle-trajectory, and calculate an improved estimate on the alignment parameters.
Implemented in DummyUpdator, and SingleTrajectoryUpdator.
void KalmanAlignmentUpdator::updateUserVariables | ( | const std::vector< Alignable * > & | alignables | ) | const [protected] |
Update the AlignmentUserVariables, given that the Alignables hold KalmanAlignmentUserVariables.
Definition at line 6 of file KalmanAlignmentUpdator.cc.
References KalmanAlignmentUserVariables::update(), and AlignmentParameters::userVariables().
Referenced by SingleTrajectoryUpdator::process().
00007 { 00008 std::vector< Alignable* >::const_iterator itAlignable = alignables.begin(); 00009 00010 while ( itAlignable != alignables.end() ) 00011 { 00012 AlignmentParameters* alignmentParameters = ( *itAlignable )->alignmentParameters(); 00013 00014 if ( alignmentParameters != 0 ) 00015 { 00016 KalmanAlignmentUserVariables* userVariables = 00017 dynamic_cast< KalmanAlignmentUserVariables* >( alignmentParameters->userVariables() ); 00018 00019 if ( userVariables != 0 ) userVariables->update(); 00020 } 00021 00022 itAlignable++; 00023 } 00024 }