1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentParameterStore_h
2 #define Alignment_CommonAlignmentAlgorithm_AlignmentParameterStore_h
27 typedef std::vector<unsigned int>
DetIds;
41 selectParameters(
const std::vector <AlignableDetOrUnitPtr>& alignabledets )
const;
105 bool overwrite,
int& ierr );
112 const std::vector<AlignmentUserVariables*>& uvarvec,
int& ierr);
138 std::vector<std::vector<ParameterId> > ¶mIdsVecOut,
139 std::vector<std::vector<double> > &factorsVecOut,
void attachUserVariables(const align::Alignables &alivec, const std::vector< AlignmentUserVariables * > &uvarvec, int &ierr)
Attach User Variables to given alignables.
void resetParameters(void)
reset parameters, correlations, user variables
std::map< std::pair< Alignable *, Alignable * >, AlgebraicMatrix > Correlations
std::pair< Alignable *, unsigned int > ParameterId
a single alignable parameter of an Alignable
void setAlignmentPositionError(const align::Alignables &alivec, double valshift, double valrot)
Set Alignment position error.
align::Alignables validAlignables(void) const
get all alignables with valid parameters
void attachCorrelations(const align::Alignables &alivec, const Correlations &cormap, bool overwrite, int &ierr)
Attach correlations to given alignables.
virtual ~AlignmentParameterStore()
destructor
void applyParameters(void)
Obsolete: Use AlignableNavigator::alignableDetFromDetId and alignableFromAlignableDet.
void applyAlignableAbsolutePositions(const align::Alignables &alis, const AlignablePositions &newpos, int &ierr)
apply absolute positions to alignables
void updateParameters(const CompositeAlignmentParameters &aap, bool updateCorrelations=true)
update parameters
std::vector< AlignableRelData > AlignableShifts
virtual unsigned int size(void) const
Get number of stored correlations.
std::vector< AlignmentParameters * > Parameters
CLHEP::HepMatrix AlgebraicMatrix
AlignmentParameterStore(const align::Alignables &alis, const edm::ParameterSet &config)
constructor
bool hierarchyConstraints(const Alignable *aliMaster, const align::Alignables &aliComps, std::vector< std::vector< ParameterId > > ¶mIdsVecOut, std::vector< std::vector< double > > &factorsVecOut, bool all, double epsilon) const
std::vector< unsigned int > DetIds
void applyAlignableRelativePositions(const align::Alignables &alivec, const AlignableShifts &shifts, int &ierr)
apply relative shifts to alignables
const unsigned int numCorrelations(void) const
get number of correlations between alignables
(Abstract) Base class for alignment algorithm user variables
void acquireRelativeParameters(void)
align::Alignables theAlignables
alignables
int numObjects(void) const
returns number of alignables
CompositeAlignmentParameters selectParameters(const std::vector< AlignableDet * > &alignabledets) const
std::vector< Alignable * > Alignables
AlignmentCorrelationsStore * theCorrelationsStore
std::vector< AlignableAbsData > AlignablePositions
void attachAlignmentParameters(const align::Alignables &alivec, const Parameters &parvec, int &ierr)
Attach alignment parameters to given alignables.
Alignable * alignableFromAlignableDet(AlignableDetOrUnitPtr alignableDet) const
Obsolete: Use AlignableNavigator::alignableDetFromGeomDet and alignableFromAlignableDet.
const align::Alignables & alignables(void) const
get all alignables
std::vector< edm::ParameterSet > Parameters
AlignmentCorrelationsStore * correlationsStore(void) const
get full correlation map
std::pair< int, int > typeAndLayer(const Alignable *ali) const
Obtain type and layer from Alignable.