CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
AlignTransform Class Reference

#include <AlignTransform.h>

Public Types

typedef CLHEP::HepEulerAngles EulerAngles
 
typedef CLHEP::HepRotation Rotation
 
typedef HepGeom::Transform3D Transform
 
typedef CLHEP::Hep3Vector Translation
 

Public Member Functions

 AlignTransform ()
 Default constructor. More...
 
 AlignTransform (const Translation &itranslation, const EulerAngles &ieulerAngles, align::ID irawId)
 Constructor from Euler angles. More...
 
 AlignTransform (const Translation &itranslation, const Rotation &irotation, align::ID irawId)
 Constructor from Rotation. More...
 
const bool operator< (const AlignTransform &other) const
 
align::ID rawId () const
 Do not expose Euler angles since we may change its type later. More...
 
Rotation rotation () const
 
Transform transform () const
 
const Translationtranslation () const
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

EulerAngles m_eulerAngles
 
align::ID m_rawId
 
Translation m_translation
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Class holding data for an Alignment transformation It contains the raw detector id, its global position and global orientation. It is optimized for storage.

Definition at line 15 of file AlignTransform.h.

Member Typedef Documentation

typedef CLHEP::HepEulerAngles AlignTransform::EulerAngles

Definition at line 17 of file AlignTransform.h.

typedef CLHEP::HepRotation AlignTransform::Rotation

Definition at line 19 of file AlignTransform.h.

typedef HepGeom::Transform3D AlignTransform::Transform

Definition at line 20 of file AlignTransform.h.

typedef CLHEP::Hep3Vector AlignTransform::Translation

Definition at line 18 of file AlignTransform.h.

Constructor & Destructor Documentation

AlignTransform::AlignTransform ( )
inline

Default constructor.

Definition at line 23 of file AlignTransform.h.

23 {}
AlignTransform::AlignTransform ( const Translation itranslation,
const EulerAngles ieulerAngles,
align::ID  irawId 
)
inline

Constructor from Euler angles.

Definition at line 26 of file AlignTransform.h.

27  : m_translation(itranslation), m_eulerAngles(ieulerAngles), m_rawId(irawId) {}
EulerAngles m_eulerAngles
align::ID m_rawId
Translation m_translation
AlignTransform::AlignTransform ( const Translation itranslation,
const Rotation irotation,
align::ID  irawId 
)
inline

Constructor from Rotation.

Definition at line 30 of file AlignTransform.h.

31  : m_translation(itranslation), m_eulerAngles(irotation.eulerAngles()), m_rawId(irawId) {}
EulerAngles m_eulerAngles
align::ID m_rawId
Translation m_translation

Member Function Documentation

const bool AlignTransform::operator< ( const AlignTransform other) const
inline

Definition at line 47 of file AlignTransform.h.

References m_rawId, and rawId().

47 { return (m_rawId < other.rawId()); }
align::ID m_rawId
align::ID rawId() const
Do not expose Euler angles since we may change its type later.
align::ID AlignTransform::rawId ( ) const
inline

Do not expose Euler angles since we may change its type later.

Definition at line 36 of file AlignTransform.h.

References m_rawId.

Referenced by MCMisalignmentScaler::analyze(), operator<(), and GlobalTrackerMuonAlignment::writeGlPosRcd().

36 { return m_rawId; }
align::ID m_rawId
Rotation AlignTransform::rotation ( void  ) const
inline

Definition at line 38 of file AlignTransform.h.

References m_eulerAngles.

Referenced by GeometryAligner::applyAlignments(), GeometryAligner::removeGlobalTransform(), transform(), and GlobalTrackerMuonAlignment::writeGlPosRcd().

39  { //std::cout<<"Inside aligntransform::rotation() with id="<<std::hex<<m_rawId<<std::dec<<std::endl ;
40  //std::cout<<" for e.a.="<<m_eulerAngles<<std::endl;
41  return Rotation(m_eulerAngles);
42  }
EulerAngles m_eulerAngles
CLHEP::HepRotation Rotation
template<class Archive >
void AlignTransform::serialize ( Archive &  ar,
const unsigned int  version 
)
private
Transform AlignTransform::transform ( ) const
inline

Definition at line 44 of file AlignTransform.h.

References rotation(), and translation().

Referenced by AlignmentProducerBase::writeDB().

44 { return Transform(rotation(), translation()); }
HepGeom::Transform3D Transform
const Translation & translation() const
Rotation rotation() const
const Translation& AlignTransform::translation ( void  ) const
inline

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 54 of file AlignTransform.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 54 of file AlignTransform.h.

Member Data Documentation

EulerAngles AlignTransform::m_eulerAngles
private

Definition at line 51 of file AlignTransform.h.

Referenced by rotation().

align::ID AlignTransform::m_rawId
private

Definition at line 52 of file AlignTransform.h.

Referenced by operator<(), and rawId().

Translation AlignTransform::m_translation
private

Definition at line 50 of file AlignTransform.h.

Referenced by translation().