CMS 3D CMS Logo

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...
 
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 18 of file AlignTransform.h.

typedef CLHEP::HepRotation AlignTransform::Rotation

Definition at line 20 of file AlignTransform.h.

typedef HepGeom::Transform3D AlignTransform::Transform

Definition at line 21 of file AlignTransform.h.

typedef CLHEP::Hep3Vector AlignTransform::Translation

Definition at line 19 of file AlignTransform.h.

Constructor & Destructor Documentation

AlignTransform::AlignTransform ( )
inline

Default constructor.

Definition at line 24 of file AlignTransform.h.

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

Constructor from Euler angles.

Definition at line 27 of file AlignTransform.h.

29  :
30  m_translation(itranslation),
31  m_eulerAngles(ieulerAngles),
32  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 35 of file AlignTransform.h.

37  :
38  m_translation(itranslation),
39  m_eulerAngles(irotation.eulerAngles()),
40  m_rawId(irawId) {}
EulerAngles m_eulerAngles
align::ID m_rawId
Translation m_translation

Member Function Documentation

align::ID AlignTransform::rawId ( ) const
inline

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

Definition at line 45 of file AlignTransform.h.

References m_rawId.

Referenced by GlobalTrackerMuonAlignment::writeGlPosRcd().

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

Definition at line 47 of file AlignTransform.h.

References m_eulerAngles.

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

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

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 62 of file AlignTransform.h.

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

Definition at line 62 of file AlignTransform.h.

Member Data Documentation

EulerAngles AlignTransform::m_eulerAngles
private

Definition at line 57 of file AlignTransform.h.

Referenced by rotation().

align::ID AlignTransform::m_rawId
private

Definition at line 58 of file AlignTransform.h.

Referenced by rawId().

Translation AlignTransform::m_translation
private

Definition at line 56 of file AlignTransform.h.

Referenced by translation().