23 theAlignmentParameters(0),
34 theAlignmentParameters(0),
50 bool isConsistent =
true;
51 bool hasAliComp =
false;
54 for (Alignables::const_iterator iComp = comps.begin(), iCompEnd = comps.end();
55 iComp != iCompEnd; ++iComp) {
56 if ((*iComp)->alignmentParameters()) {
57 paramComps.push_back(*iComp);
58 if (!first && !hasAliComp) isConsistent =
false;
61 const unsigned int nCompBefore = paramComps.size();
62 if (!(*iComp)->firstCompsWithParams(paramComps)) {
65 if (paramComps.size() != nCompBefore) {
66 if (!first && !hasAliComp) isConsistent =
false;
68 }
else if (hasAliComp) {
217 typedef std::pair<int,SurfaceDeformation*> IdSurfaceDeformationPtrPair;
219 std::vector<IdSurfaceDeformationPtrPair>
result;
227 for ( std::vector<IdSurfaceDeformationPtrPair>::const_iterator iPair = result.begin();
228 iPair != result.end();
233 allSurfaceDeformations->
add((*iPair).first,
234 (*iPair).second->type(),
235 (*iPair).second->parameters());
238 return allSurfaceDeformations;
virtual void rotateInLocalFrame(const RotationType &rotation)
Rotation intepreted in the local reference frame.
virtual void rotateAroundLocalZ(Scalar radians)
Rotation around local z-axis.
virtual void rotateAroundLocalAxis(const LocalVector &axis, Scalar radians)
Rotation around arbitratry local axis.
Alignable()
private default ctr. to enforce usage of the specialised ones
Sin< T >::type sin(const T &t)
const SurveyDet * survey() const
Return survey info.
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
virtual void rotateAroundGlobalAxis(const GlobalVector &axis, Scalar radians)
Rotation around arbitratry global axis.
virtual Alignables components() const =0
Return vector of all direct components.
GlobalVector theDisplacement
virtual void rotateAroundGlobalZ(Scalar radians)
Rotation around global z-axis.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
AlignmentParameters * theAlignmentParameters
virtual int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const =0
void setAlignmentParameters(AlignmentParameters *dap)
Set the AlignmentParameters.
Cos< T >::type cos(const T &t)
bool firstCompsWithParams(Alignables ¶mComps) const
AlignmentSurfaceDeformations * surfaceDeformations() const
Return surface deformations, sorted by DetId.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
virtual void rotateAroundGlobalX(Scalar radians)
Rotation around global x-axis.
virtual void rotateInGlobalFrame(const RotationType &rotation)=0
void setSurvey(const SurveyDet *)
Set survey info.
void addRotation(const RotationType &rotation)
align::RotationType RotationType
virtual void rotateAroundLocalY(Scalar radians)
Rotation around local y-axis.
virtual void rotateAroundGlobalY(Scalar radians)
Rotation around global y-axis.
void addDisplacement(const GlobalVector &displacement)
virtual void rotateAroundLocalX(Scalar radians)
Rotation around local x-axis.
const BasicVectorType & basicVector() const
virtual ~Alignable()
Destructor.
const SurveyDet * theSurvey
align::Alignables Alignables