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...
 
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

◆ EulerAngles

typedef CLHEP::HepEulerAngles AlignTransform::EulerAngles

Definition at line 17 of file AlignTransform.h.

◆ Rotation

typedef CLHEP::HepRotation AlignTransform::Rotation

Definition at line 19 of file AlignTransform.h.

◆ Transform

typedef HepGeom::Transform3D AlignTransform::Transform

Definition at line 20 of file AlignTransform.h.

◆ Translation

typedef CLHEP::Hep3Vector AlignTransform::Translation

Definition at line 18 of file AlignTransform.h.

Constructor & Destructor Documentation

◆ AlignTransform() [1/3]

AlignTransform::AlignTransform ( )
inline

Default constructor.

Definition at line 23 of file AlignTransform.h.

23 {}

◆ AlignTransform() [2/3]

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() [3/3]

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

◆ operator<()

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

Definition at line 47 of file AlignTransform.h.

References m_rawId, and trackingPlots::other.

47 { return (m_rawId < other.rawId()); }
align::ID m_rawId

◆ rawId()

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().

36 { return m_rawId; }
align::ID m_rawId

◆ rotation()

Rotation AlignTransform::rotation ( void  ) const
inline

Definition at line 38 of file AlignTransform.h.

References m_eulerAngles.

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

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

◆ serialize()

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

◆ transform()

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

◆ translation()

const Translation& AlignTransform::translation ( void  ) const
inline

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 54 of file AlignTransform.h.

◆ cond::serialization::access

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

Definition at line 54 of file AlignTransform.h.

Member Data Documentation

◆ m_eulerAngles

EulerAngles AlignTransform::m_eulerAngles
private

Definition at line 51 of file AlignTransform.h.

Referenced by rotation().

◆ m_rawId

align::ID AlignTransform::m_rawId
private

Definition at line 52 of file AlignTransform.h.

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

◆ m_translation

Translation AlignTransform::m_translation
private

Definition at line 50 of file AlignTransform.h.

Referenced by translation().