ATLAS Offline Software
Loading...
Searching...
No Matches
SurveyConstraintPoint.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5//--------------------------------------------------------------------------
6// Description:
7// Class SurveyConstraintPoint. Descripts points in global coordinates
8// for the survey markers in 2 different alignments, current and survey.
9//
10// Author List:
11// Tobias Golling
12//
13//------------------------------------------------------------------------
14
15#ifndef SURVEYCONSTRAINTPOINT_HH
16#define SURVEYCONSTRAINTPOINT_HH
17
18//-------------------------------
19// Collaborating Class Headers --
20//-------------------------------
23#include <iostream>
24
26
27//--------------------
28// Instance Members --
29//--------------------
30
31public:
33 // Constructors
35 const Amg::Vector3D& current );
36
37 // Copy Constructor
39
40 // Destructor
41 virtual ~SurveyConstraintPoint( );
42
43 // Operators
45 bool operator==( const SurveyConstraintPoint& ) const;
46 bool operator!=( const SurveyConstraintPoint& ) const;
47
48 // Selectors (const)
49 const Amg::Vector3D& survey() const { return m_survey; };
50 const Amg::Vector3D& current() const { return m_current; };
51
52// non-const
55
56 // Modifiers
57 void setSurvey( const Amg::Vector3D& point ) {
58 m_survey = point;
59 }
60
61 void setCurrent( const Amg::Vector3D& point ) {
62 m_current = point;
63 }
64// trasform both points
65 void moveTo( const Amg::Transform3D& trans ) {
66 m_survey = trans * m_survey;
67 m_current = trans * m_current;
68 }
69
70 void moveFrom( const Amg::Transform3D& trans ) {
71 m_survey = (trans.inverse()) * m_survey ;
72 m_current = (trans.inverse()) * m_current;
73 }
74
75 void scaleZ( float scale ) {
76 //float before = m_survey.z();
77 float zs = m_survey.z() * scale;
78 float zc = m_current.z() * scale;
79 m_survey[2] = zs;
80 m_current[2] = zc;
81 // cout << "scale, before, after, after = " << scale << "," << before << "," << zs << "," << m_survey.z() << endl;
82 }
83
84
85protected:
86
87 // Helper functions
88
89private:
90
91 // Data members
94
95};
96
97#endif
SurveyConstraintPoint & operator=(const SurveyConstraintPoint &)
void setSurvey(const Amg::Vector3D &point)
const Amg::Vector3D & current() const
void setCurrent(const Amg::Vector3D &point)
void moveFrom(const Amg::Transform3D &trans)
bool operator!=(const SurveyConstraintPoint &) const
const Amg::Vector3D & survey() const
void moveTo(const Amg::Transform3D &trans)
bool operator==(const SurveyConstraintPoint &) const
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D