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 225 of file AlignmentHierarchy.h.

Member Typedef Documentation

◆ Ptr

Definition at line 228 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 259 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 252 of file AlignmentHierarchy.h.

◆ computeJacobianL2T()

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

Definition at line 294 of file AlignmentHierarchy.h.

◆ defineMatrixL2G()

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

Definition at line 292 of file AlignmentHierarchy.h.

◆ defineMatrixT2L()

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

Definition at line 293 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 283 of file AlignmentHierarchy.h.

◆ getJL2P()

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

Definition at line 297 of file AlignmentHierarchy.h.

◆ getJP2L()

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

Definition at line 298 of file AlignmentHierarchy.h.

◆ getL2P()

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

Definition at line 295 of file AlignmentHierarchy.h.

◆ getLabel()

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

Definition at line 275 of file AlignmentHierarchy.h.

◆ getLevel()

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

Definition at line 247 of file AlignmentHierarchy.h.

◆ getNChildren()

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

Definition at line 277 of file AlignmentHierarchy.h.

◆ getParent()

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

Definition at line 276 of file AlignmentHierarchy.h.

◆ getRigidBody()

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

Definition at line 282 of file AlignmentHierarchy.h.

◆ getSensorId()

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

Definition at line 287 of file AlignmentHierarchy.h.

◆ getSymName()

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

Definition at line 274 of file AlignmentHierarchy.h.

◆ getT2L()

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

Definition at line 296 of file AlignmentHierarchy.h.

◆ isActive()

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

Definition at line 289 of file AlignmentHierarchy.h.

◆ isLeaf()

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

Definition at line 249 of file AlignmentHierarchy.h.

◆ isPseudo()

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

Definition at line 285 of file AlignmentHierarchy.h.

◆ isRoot()

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

Definition at line 248 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 281 of file AlignmentHierarchy.h.

◆ setPseudo()

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

Definition at line 284 of file AlignmentHierarchy.h.

◆ setRigidBody()

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

Definition at line 280 of file AlignmentHierarchy.h.

◆ setSensorId()

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

Definition at line 286 of file AlignmentHierarchy.h.

◆ traverse()

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

Definition at line 266 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 203 of file AlignmentHierarchy.cxx.

Member Data Documentation

◆ mJL2P

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

Definition at line 307 of file AlignmentHierarchy.h.

◆ mJP2L

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

Definition at line 308 of file AlignmentHierarchy.h.

◆ mL2G

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

Definition at line 305 of file AlignmentHierarchy.h.

◆ mL2P

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

Definition at line 306 of file AlignmentHierarchy.h.

◆ mParent

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

matrices

Definition at line 302 of file AlignmentHierarchy.h.

◆ mPN

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

Definition at line 304 of file AlignmentHierarchy.h.

◆ mPNE

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

Definition at line 303 of file AlignmentHierarchy.h.

◆ mT2L

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

Definition at line 309 of file AlignmentHierarchy.h.


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