9 #include <arich/dbobjects/ARICHGlobalAlignment.h>
17 TVector3 ARICHGlobalAlignment::pointToGlobal(
const TVector3& point)
const
19 if (!m_rotation) setTransformation();
20 return (*m_rotation) * point + (*m_translation);
23 TVector3 ARICHGlobalAlignment::momentumToGlobal(
const TVector3& momentum)
const
25 if (!m_rotation) setTransformation();
26 return (*m_rotation) * momentum;
29 TVector3 ARICHGlobalAlignment::pointToLocal(
const TVector3& point)
const
31 if (!m_translation) setTransformation();
32 return (*m_rotationInverse) * (point - (*m_translation));
35 TVector3 ARICHGlobalAlignment::momentumToLocal(
const TVector3& momentum)
const
37 if (!m_rotationInverse) setTransformation();
38 return (*m_rotationInverse) * momentum;
41 void ARICHGlobalAlignment::setTransformation()
const
43 TRotation Rot = m_alignPars.getRotation();
44 m_rotation =
new TRotation(Rot);
45 m_rotationInverse =
new TRotation(Rot.Inverse());
46 m_translation =
new TVector3(m_alignPars.getTranslation());
49 void ARICHGlobalAlignment::print(
const std::string& title)
const
51 ARICHGeoBase::print(title);
Abstract base class for different kinds of events.