79 unsigned int theSurveyIndex = 0;
80 const Alignments* theSurveyValues = &*dtSurvey;
82 const auto& barrels = output->
DTBarrel();
83 for (
const auto& iter : barrels) {
84 addSurveyInfo_(iter, &theSurveyIndex, theSurveyValues, theSurveyErrors);
88 theSurveyValues = &*cscSurvey;
89 theSurveyErrors = &*cscSurveyError;
91 for (
const auto& iter : endcaps) {
92 addSurveyInfo_(iter, &theSurveyIndex, theSurveyValues, theSurveyErrors);
103 unsigned int* theSurveyIndex,
108 unsigned int nComp =
comp.size();
110 for (
unsigned int i = 0;
i < nComp; ++
i)
116 throw cms::Exception(
"DatabaseError") <<
"Error reading survey info from DB. Mismatched id!";
119 const CLHEP::Hep3Vector&
pos = theSurveyValues->
m_align[*theSurveyIndex].translation();
120 const CLHEP::HepRotation&
rot = theSurveyValues->
m_align[*theSurveyIndex].rotation();
124 align::RotationType(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
align::Scalar width() const
ErrorMatrix matrix() const
align::Alignables DTBarrel()
constexpr uint32_t rawId() const
get the raw id
void setWidth(align::Scalar width)
virtual const Alignables & components() const =0
Return vector of all direct components.
uint8_t structureType() const
std::vector< AlignTransform > m_align
void setLength(align::Scalar length)
align::Alignables CSCEndcaps()
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
align::Scalar length() const
void setSurvey(const SurveyDet *)
Set survey info.
std::vector< SurveyError > m_surveyErrors
Constructor of the full muon geometry.
const DetId & geomDetId() const