CMS 3D CMS Logo

Public Member Functions | Private Attributes

DummyMetricsUpdator Class Reference

#include <DummyMetricsUpdator.h>

Inheritance diagram for DummyMetricsUpdator:
KalmanAlignmentMetricsUpdator KalmanAlignmentMetricsUpdator

List of all members.

Public Member Functions

virtual const std::vector
< Alignable * > 
additionalAlignables (const std::vector< Alignable * > &alignables)
virtual const std::vector
< Alignable * > 
additionalAlignables (const std::vector< Alignable * > &alignables)
virtual const std::map
< Alignable *, short int > 
additionalAlignablesWithDistances (const std::vector< Alignable * > &alignables)
virtual const std::map
< Alignable *, short int > 
additionalAlignablesWithDistances (const std::vector< Alignable * > &alignables)
virtual const std::vector
< Alignable * > 
alignables (void) const
virtual const std::vector
< Alignable * > 
alignables (void) const
 DummyMetricsUpdator (const edm::ParameterSet &config)
 DummyMetricsUpdator (const edm::ParameterSet &config)
virtual void update (const std::vector< Alignable * > &alignables)
virtual void update (const std::vector< Alignable * > &alignables)
virtual ~DummyMetricsUpdator (void)
virtual ~DummyMetricsUpdator (void)

Private Attributes

std::vector< unsigned int > theFixedAlignableIds
std::set< Alignable * > theSetOfAllAlignables

Detailed Description

A dummy metrics updator. It does not calculate the metrics but holds only a list of all Alignables that it so far was updated with.

Definition at line 13 of file DummyMetricsUpdator.h.


Constructor & Destructor Documentation

DummyMetricsUpdator::DummyMetricsUpdator ( const edm::ParameterSet config)

Definition at line 8 of file DummyMetricsUpdator.cc.

References edm::ParameterSet::getUntrackedParameter(), and theFixedAlignableIds.

                                                                         : KalmanAlignmentMetricsUpdator( config )
{
  std::vector< unsigned int > dummy;
  theFixedAlignableIds = config.getUntrackedParameter< std::vector<unsigned int> >( "FixedAlignableIds", dummy );
}
virtual DummyMetricsUpdator::~DummyMetricsUpdator ( void  ) [inline, virtual]

Definition at line 20 of file DummyMetricsUpdator.h.

{}
DummyMetricsUpdator::DummyMetricsUpdator ( const edm::ParameterSet config)
virtual DummyMetricsUpdator::~DummyMetricsUpdator ( void  ) [inline, virtual]

Definition at line 20 of file DummyMetricsUpdator.h.

{}

Member Function Documentation

const std::vector< Alignable * > DummyMetricsUpdator::additionalAlignables ( const std::vector< Alignable * > &  alignables) [virtual]

Implements KalmanAlignmentMetricsUpdator.

Definition at line 31 of file DummyMetricsUpdator.cc.

References spr::find(), query::result, and theSetOfAllAlignables.

{
  std::vector< Alignable* > result;
  result.reserve( theSetOfAllAlignables.size() );

  std::set< Alignable* >::iterator itS = theSetOfAllAlignables.begin();
  while ( itS != theSetOfAllAlignables.end() )
  {
    if ( find( alignables.begin(), alignables.end(), *itS ) == alignables.end() ) result.push_back( *itS );
    ++itS;
  }

  return result;
}
virtual const std::vector< Alignable* > DummyMetricsUpdator::additionalAlignables ( const std::vector< Alignable * > &  alignables) [virtual]
virtual const std::map< Alignable*, short int > DummyMetricsUpdator::additionalAlignablesWithDistances ( const std::vector< Alignable * > &  alignables) [virtual]
const std::map< Alignable *, short int > DummyMetricsUpdator::additionalAlignablesWithDistances ( const std::vector< Alignable * > &  alignables) [virtual]

Definition at line 48 of file DummyMetricsUpdator.cc.

References spr::find(), query::result, and theSetOfAllAlignables.

{
  std::map< Alignable*, short int > result;

  std::set< Alignable* >::iterator itS = theSetOfAllAlignables.begin();
  while ( itS != theSetOfAllAlignables.end() )
  {
    if ( find( alignables.begin(), alignables.end(), *itS ) == alignables.end() ) result[*itS] = 0;
    ++itS;
  }

  return result;
}
const std::vector< Alignable * > DummyMetricsUpdator::alignables ( void  ) const [virtual]

Implements KalmanAlignmentMetricsUpdator.

Definition at line 63 of file DummyMetricsUpdator.cc.

References theSetOfAllAlignables.

{
  std::vector< Alignable* > alignables;
  alignables.reserve( theSetOfAllAlignables.size() );
  alignables.insert( alignables.begin(), theSetOfAllAlignables.begin(), theSetOfAllAlignables.end() );
  return alignables;
}
virtual const std::vector< Alignable* > DummyMetricsUpdator::alignables ( void  ) const [virtual]
void DummyMetricsUpdator::update ( const std::vector< Alignable * > &  alignables) [virtual]

Implements KalmanAlignmentMetricsUpdator.

Definition at line 15 of file DummyMetricsUpdator.cc.

References spr::find(), theFixedAlignableIds, and theSetOfAllAlignables.

{
  std::vector< Alignable* >::const_iterator itAD = alignables.begin();
  while ( itAD != alignables.end() )
  {
    unsigned int subdetId = static_cast< unsigned int >( (*itAD)->geomDetId().subdetId() );
    if ( find( theFixedAlignableIds.begin(), theFixedAlignableIds.end(), subdetId ) == theFixedAlignableIds.end() )
    {
      theSetOfAllAlignables.insert( *itAD );
    }
    ++itAD;
  }
}
virtual void DummyMetricsUpdator::update ( const std::vector< Alignable * > &  alignables) [virtual]

Member Data Documentation

std::vector< unsigned int > DummyMetricsUpdator::theFixedAlignableIds [private]

Definition at line 34 of file DummyMetricsUpdator.h.

Referenced by DummyMetricsUpdator(), and update().