Project
Loading...
Searching...
No Matches
o2::its3::align::AlignableVolume Class Reference

#include <AlignmentHierarchy.h>

Inherited by o2::its3::align::AlignableSensorIT3, and o2::its3::align::AlignableSensorITS.

Public Types

using Ptr = std::unique_ptr< AlignableVolume >
 
using SensorMapping = std::map< GlobalLabel, AlignableVolume * >
 

Public Member Functions

 AlignableVolume (const AlignableVolume &)=delete
 
 AlignableVolume (AlignableVolume &&)=delete
 
AlignableVolumeoperator= (const AlignableVolume &)=delete
 
AlignableVolumeoperator= (AlignableVolume &&)=delete
 
 AlignableVolume (const char *symName, uint32_t label, uint32_t det, bool sens)
 
 AlignableVolume (const char *symName, GlobalLabel label)
 
virtual ~AlignableVolume ()=default
 
void finalise (uint8_t level=0)
 
void writeRigidBodyConstraints (std::ostream &os) const
 
void writeParameters (std::ostream &os) const
 
void writeTree (std::ostream &os, int indent=0) const
 
auto getLevel () const noexcept
 
bool isRoot () const noexcept
 
bool isLeaf () const noexcept
 
template<class T = AlignableVolume>
requires std::derived_from<T, AlignableVolume>
AlignableVolumeaddChild (const char *symName, uint32_t label, uint32_t det, bool sens)
 
template<class T = AlignableVolume>
requires std::derived_from<T, AlignableVolume>
AlignableVolumeaddChild (const char *symName, GlobalLabel lbl)
 
void traverse (const std::function< void(AlignableVolume *)> &visitor)
 
std::string getSymName () const noexcept
 
GlobalLabel getLabel () const noexcept
 
AlignableVolumegetParent () const
 
size_t getNChildren () const noexcept
 
void setRigidBody (std::unique_ptr< DOFSet > rb)
 
void setCalib (std::unique_ptr< DOFSet > cal)
 
DOFSetgetRigidBody () const
 
DOFSetgetCalib () const
 
void setPseudo (bool p) noexcept
 
bool isPseudo () const noexcept
 
void setSensorId (int id) noexcept
 
int getSensorId () const noexcept
 
bool isActive () const noexcept
 
virtual void defineMatrixL2G ()
 
virtual void defineMatrixT2L ()
 
virtual void computeJacobianL2T (const double *pos, Matrix66 &jac) const
 
const TGeoHMatrix & getL2P () const
 
const TGeoHMatrix & getT2L () const
 
const Matrix66getJL2P () const
 
const Matrix66getJP2L () const
 

Protected Attributes

AlignableVolumemParent {nullptr}
 matrices
 
TGeoPNEntry * mPNE {nullptr}
 
TGeoPhysicalNode * mPN {nullptr}
 
TGeoHMatrix mL2G
 
TGeoHMatrix mL2P
 
Matrix66 mJL2P
 
Matrix66 mJP2L
 
TGeoHMatrix mT2L
 

Detailed Description

Definition at line 55 of file AlignmentHierarchy.h.

Member Typedef Documentation

◆ Ptr

Definition at line 58 of file AlignmentHierarchy.h.

◆ SensorMapping

Constructor & Destructor Documentation

◆ AlignableVolume() [1/4]

o2::its3::align::AlignableVolume::AlignableVolume ( const AlignableVolume )
delete

◆ AlignableVolume() [2/4]

o2::its3::align::AlignableVolume::AlignableVolume ( AlignableVolume &&  )
delete

◆ AlignableVolume() [3/4]

o2::its3::align::AlignableVolume::AlignableVolume ( const char symName,
uint32_t  label,
uint32_t  det,
bool  sens 
)

Definition at line 39 of file AlignmentHierarchy.cxx.

◆ AlignableVolume() [4/4]

o2::its3::align::AlignableVolume::AlignableVolume ( const char symName,
GlobalLabel  label 
)

Definition at line 44 of file AlignmentHierarchy.cxx.

◆ ~AlignableVolume()

virtual o2::its3::align::AlignableVolume::~AlignableVolume ( )
virtualdefault

Member Function Documentation

◆ addChild() [1/2]

template<class T = AlignableVolume>
requires std::derived_from<T, AlignableVolume>
AlignableVolume * o2::its3::align::AlignableVolume::addChild ( const char symName,
GlobalLabel  lbl 
)
inline

Definition at line 89 of file AlignmentHierarchy.h.

◆ addChild() [2/2]

template<class T = AlignableVolume>
requires std::derived_from<T, AlignableVolume>
AlignableVolume * o2::its3::align::AlignableVolume::addChild ( const char symName,
uint32_t  label,
uint32_t  det,
bool  sens 
)
inline

Definition at line 82 of file AlignmentHierarchy.h.

◆ computeJacobianL2T()

virtual void o2::its3::align::AlignableVolume::computeJacobianL2T ( const double *  pos,
Matrix66 jac 
) const
inlinevirtual

Definition at line 124 of file AlignmentHierarchy.h.

◆ defineMatrixL2G()

virtual void o2::its3::align::AlignableVolume::defineMatrixL2G ( )
inlinevirtual

Definition at line 122 of file AlignmentHierarchy.h.

◆ defineMatrixT2L()

virtual void o2::its3::align::AlignableVolume::defineMatrixT2L ( )
inlinevirtual

Definition at line 123 of file AlignmentHierarchy.h.

◆ finalise()

void o2::its3::align::AlignableVolume::finalise ( uint8_t  level = 0)

Definition at line 66 of file AlignmentHierarchy.cxx.

◆ getCalib()

DOFSet * o2::its3::align::AlignableVolume::getCalib ( ) const
inline

Definition at line 113 of file AlignmentHierarchy.h.

◆ getJL2P()

const Matrix66 & o2::its3::align::AlignableVolume::getJL2P ( ) const
inline

Definition at line 127 of file AlignmentHierarchy.h.

◆ getJP2L()

const Matrix66 & o2::its3::align::AlignableVolume::getJP2L ( ) const
inline

Definition at line 128 of file AlignmentHierarchy.h.

◆ getL2P()

const TGeoHMatrix & o2::its3::align::AlignableVolume::getL2P ( ) const
inline

Definition at line 125 of file AlignmentHierarchy.h.

◆ getLabel()

GlobalLabel o2::its3::align::AlignableVolume::getLabel ( ) const
inlinenoexcept

Definition at line 105 of file AlignmentHierarchy.h.

◆ getLevel()

auto o2::its3::align::AlignableVolume::getLevel ( ) const
inlinenoexcept

Definition at line 77 of file AlignmentHierarchy.h.

◆ getNChildren()

size_t o2::its3::align::AlignableVolume::getNChildren ( ) const
inlinenoexcept

Definition at line 107 of file AlignmentHierarchy.h.

◆ getParent()

AlignableVolume * o2::its3::align::AlignableVolume::getParent ( ) const
inline

Definition at line 106 of file AlignmentHierarchy.h.

◆ getRigidBody()

DOFSet * o2::its3::align::AlignableVolume::getRigidBody ( ) const
inline

Definition at line 112 of file AlignmentHierarchy.h.

◆ getSensorId()

int o2::its3::align::AlignableVolume::getSensorId ( ) const
inlinenoexcept

Definition at line 117 of file AlignmentHierarchy.h.

◆ getSymName()

std::string o2::its3::align::AlignableVolume::getSymName ( ) const
inlinenoexcept

Definition at line 104 of file AlignmentHierarchy.h.

◆ getT2L()

const TGeoHMatrix & o2::its3::align::AlignableVolume::getT2L ( ) const
inline

Definition at line 126 of file AlignmentHierarchy.h.

◆ isActive()

bool o2::its3::align::AlignableVolume::isActive ( ) const
inlinenoexcept

Definition at line 119 of file AlignmentHierarchy.h.

◆ isLeaf()

bool o2::its3::align::AlignableVolume::isLeaf ( ) const
inlinenoexcept

Definition at line 79 of file AlignmentHierarchy.h.

◆ isPseudo()

bool o2::its3::align::AlignableVolume::isPseudo ( ) const
inlinenoexcept

Definition at line 115 of file AlignmentHierarchy.h.

◆ isRoot()

bool o2::its3::align::AlignableVolume::isRoot ( ) const
inlinenoexcept

Definition at line 78 of file AlignmentHierarchy.h.

◆ operator=() [1/2]

AlignableVolume & o2::its3::align::AlignableVolume::operator= ( AlignableVolume &&  )
delete

◆ operator=() [2/2]

AlignableVolume & o2::its3::align::AlignableVolume::operator= ( const AlignableVolume )
delete

◆ setCalib()

void o2::its3::align::AlignableVolume::setCalib ( std::unique_ptr< DOFSet cal)
inline

Definition at line 111 of file AlignmentHierarchy.h.

◆ setPseudo()

void o2::its3::align::AlignableVolume::setPseudo ( bool  p)
inlinenoexcept

Definition at line 114 of file AlignmentHierarchy.h.

◆ setRigidBody()

void o2::its3::align::AlignableVolume::setRigidBody ( std::unique_ptr< DOFSet rb)
inline

Definition at line 110 of file AlignmentHierarchy.h.

◆ setSensorId()

void o2::its3::align::AlignableVolume::setSensorId ( int  id)
inlinenoexcept

Definition at line 116 of file AlignmentHierarchy.h.

◆ traverse()

void o2::its3::align::AlignableVolume::traverse ( const std::function< void(AlignableVolume *)> &  visitor)
inline

Definition at line 96 of file AlignmentHierarchy.h.

◆ writeParameters()

void o2::its3::align::AlignableVolume::writeParameters ( std::ostream &  os) const

Definition at line 176 of file AlignmentHierarchy.cxx.

◆ writeRigidBodyConstraints()

void o2::its3::align::AlignableVolume::writeRigidBodyConstraints ( std::ostream &  os) const

Definition at line 127 of file AlignmentHierarchy.cxx.

◆ writeTree()

void o2::its3::align::AlignableVolume::writeTree ( std::ostream &  os,
int  indent = 0 
) const

Definition at line 205 of file AlignmentHierarchy.cxx.

Member Data Documentation

◆ mJL2P

Matrix66 o2::its3::align::AlignableVolume::mJL2P
protected

Definition at line 137 of file AlignmentHierarchy.h.

◆ mJP2L

Matrix66 o2::its3::align::AlignableVolume::mJP2L
protected

Definition at line 138 of file AlignmentHierarchy.h.

◆ mL2G

TGeoHMatrix o2::its3::align::AlignableVolume::mL2G
protected

Definition at line 135 of file AlignmentHierarchy.h.

◆ mL2P

TGeoHMatrix o2::its3::align::AlignableVolume::mL2P
protected

Definition at line 136 of file AlignmentHierarchy.h.

◆ mParent

AlignableVolume* o2::its3::align::AlignableVolume::mParent {nullptr}
protected

matrices

Definition at line 132 of file AlignmentHierarchy.h.

◆ mPN

TGeoPhysicalNode* o2::its3::align::AlignableVolume::mPN {nullptr}
protected

Definition at line 134 of file AlignmentHierarchy.h.

◆ mPNE

TGeoPNEntry* o2::its3::align::AlignableVolume::mPNE {nullptr}
protected

Definition at line 133 of file AlignmentHierarchy.h.

◆ mT2L

TGeoHMatrix o2::its3::align::AlignableVolume::mT2L
protected

Definition at line 139 of file AlignmentHierarchy.h.


The documentation for this class was generated from the following files: