BmnRoot 26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnAlignHierarchy Class Reference

#include <BmnAlignHierarchy.h>

Collaboration diagram for BmnAlignHierarchy:

Classes

struct  Node_t

Public Member Functions

 BmnAlignHierarchy ()=default
virtual ~BmnAlignHierarchy ()=default
void BeginBuild (const BmnDetectorModel &detModel, const VecDouble_t &leafZ)
Bool_t AddComposite (const std::string &name, const std::string &parent, const VecInt_t &leaves, const SVect3 *pivot)
Bool_t EndBuild ()
Bool_t BuildFlat (const BmnDetectorModel &detModel)
Bool_t Ready () const noexcept
const BmnDetectorModel * DetModel () const noexcept
const BmnParamLayout & Layout () const noexcept
Int_t LeafCount () const noexcept
Int_t CompositeCount () const noexcept
Int_t LeafParams () const noexcept
Int_t CompositeParams () const noexcept
Int_t AllParams () const noexcept
Int_t CompositeParamBase () const noexcept
const std::vector< Node_t > & Nodes () const noexcept
const TMatrixD & J () const noexcept
void ToLeaf (const TVectorD &hier, TVectorD &leaf) const
void ToEffectiveCov (const TMatrixD &hier, TMatrixD &eff) const
TMatrixD PromoteConstraints (const TMatrixD &constraints) const
void PromoteSystem (const TVectorD &vB, const TMatrixD &mC, TVectorD &vB_h, TMatrixD &mC_h) const

Protected Member Functions

Int_t FindNode (const std::string &name) const
void FillBlock (Int_t row, Int_t col, const SVect3 &dP)

Protected Attributes

const BmnDetectorModel * fpDetModel {nullptr}
Bool_t fReady {kFALSE}
Int_t fCompositesTotal {0}
Int_t fLeavesTotal {0}
BmnParamLayout fLayout
std::vector< Node_t > fNodes
VecInt_t fCompositeNode
TMatrixD fJ

Detailed Description

Definition at line 88 of file BmnAlignHierarchy.h.

Constructor & Destructor Documentation

◆ BmnAlignHierarchy()

BmnAlignHierarchy::BmnAlignHierarchy ( )
default

◆ ~BmnAlignHierarchy()

virtual BmnAlignHierarchy::~BmnAlignHierarchy ( )
virtualdefault

Member Function Documentation

◆ AddComposite()

Bool_t BmnAlignHierarchy::AddComposite ( const std::string & name,
const std::string & parent,
const VecInt_t & leaves,
const SVect3 * pivot )
inline

Definition at line 190 of file BmnAlignHierarchy.h.

References BmnAlignHierarchy::Node_t::composite, fCompositeNode, fCompositesTotal, FindNode(), fLeavesTotal, fNodes, BmnAlignHierarchy::Node_t::name, BmnAlignHierarchy::Node_t::parent, BmnAlignHierarchy::Node_t::pivot, and BmnAlignHierarchy::Node_t::pivotSet.

Here is the call graph for this function:

◆ AllParams()

Int_t BmnAlignHierarchy::AllParams ( ) const
inlinenoexcept

Definition at line 129 of file BmnAlignHierarchy.h.

References CompositeParams(), and LeafParams().

Referenced by BmnAlignPriors::Apply(), BmnAlignPriors::Check(), BmnAlignReport::Correlations(), BmnAlignPriors::Init(), BmnAlignConfig::LoadConstraints(), BmnAlignConfig::LoadPresigmas(), BmnAlignTestTask::Make(), BmnAlignReport::ModesBelow(), PromoteConstraints(), PromoteSystem(), BmnParamLayout::Rebuild(), ToEffectiveCov(), and ToLeaf().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BeginBuild()

void BmnAlignHierarchy::BeginBuild ( const BmnDetectorModel & detModel,
const VecDouble_t & leafZ )
inline

Definition at line 159 of file BmnAlignHierarchy.h.

References BmnDetectorModel::Alignables(), BmnDetectorModel::DecodeID(), BmnDetectorModel::EncodedID(), fCompositeNode, fCompositesTotal, fLeavesTotal, fNodes, fpDetModel, fReady, i, BmnAlignHierarchy::Node_t::leaf, BmnAlignHierarchy::Node_t::name, BmnAlignHierarchy::Node_t::pivot, and BmnAlignHierarchy::Node_t::pivotSet.

Referenced by BuildFlat().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildFlat()

Bool_t BmnAlignHierarchy::BuildFlat ( const BmnDetectorModel & detModel)
inline

Definition at line 114 of file BmnAlignHierarchy.h.

References BmnDetectorModel::Alignables(), BeginBuild(), and EndBuild().

Referenced by expandS().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CompositeCount()

Int_t BmnAlignHierarchy::CompositeCount ( ) const
inlinenoexcept

Definition at line 126 of file BmnAlignHierarchy.h.

References fCompositesTotal.

Referenced by BmnAlignTestTask::Make(), BmnAlignConfig::ReadSolution(), BmnAlignReport::Results(), and BmnAlignConfig::WriteSolution().

Here is the caller graph for this function:

◆ CompositeParamBase()

Int_t BmnAlignHierarchy::CompositeParamBase ( ) const
inlinenoexcept

Definition at line 130 of file BmnAlignHierarchy.h.

References LeafParams().

Referenced by BmnAlignPriors::Apply(), BmnAlignPriors::Check(), BmnAlignTestTask::Make(), and BmnParamLayout::Rebuild().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CompositeParams()

Int_t BmnAlignHierarchy::CompositeParams ( ) const
inlinenoexcept

Definition at line 128 of file BmnAlignHierarchy.h.

References BMN_GLOBAL_PARAMS_PD, and fCompositesTotal.

Referenced by AllParams(), BmnAlignPriors::Apply(), BmnAlignPriors::Check(), EndBuild(), BmnAlignTestTask::Make(), BmnParamLayout::Rebuild(), and ToLeaf().

Here is the caller graph for this function:

◆ DetModel()

const BmnDetectorModel * BmnAlignHierarchy::DetModel ( ) const
inlinenoexcept

Definition at line 121 of file BmnAlignHierarchy.h.

References fpDetModel.

Referenced by BmnAlignConfig::LoadConstraints(), BmnAlignConfig::LoadPresigmas(), BmnAlignConfig::ReadSolution(), and BmnAlignConfig::WriteSolution().

Here is the caller graph for this function:

◆ EndBuild()

Bool_t BmnAlignHierarchy::EndBuild ( )
inline

Definition at line 251 of file BmnAlignHierarchy.h.

References BMN_GLOBAL_PARAMS_PD, CompositeParams(), fCompositeNode, fCompositesTotal, FillBlock(), fJ, fLayout, fLeavesTotal, fNodes, fReady, iX, iY, iZ, LeafParams(), BmnAlignHierarchy::Node_t::level, BmnAlignHierarchy::Node_t::name, BmnAlignHierarchy::Node_t::pivot, and BmnAlignHierarchy::Node_t::pivotSet.

Referenced by BuildFlat().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FillBlock()

void BmnAlignHierarchy::FillBlock ( Int_t row,
Int_t col,
const SVect3 & dP )
inlineprotected

Definition at line 341 of file BmnAlignHierarchy.h.

References BMN_GLOBAL_PARAMS_PD, fJ, idX, idY, idZ, iPhi, iPsi, iTheta, iX, iY, and iZ.

Referenced by EndBuild().

Here is the caller graph for this function:

◆ FindNode()

Int_t BmnAlignHierarchy::FindNode ( const std::string & name) const
inlineprotected

Definition at line 182 of file BmnAlignHierarchy.h.

References fNodes, and i.

Referenced by AddComposite().

Here is the caller graph for this function:

◆ J()

const TMatrixD & BmnAlignHierarchy::J ( ) const
inlinenoexcept

Definition at line 137 of file BmnAlignHierarchy.h.

References fJ.

Referenced by BmnAlignPriors::Apply(), BmnAlignPriors::Check(), and BmnAlignTestTask::Make().

Here is the caller graph for this function:

◆ Layout()

const BmnParamLayout & BmnAlignHierarchy::Layout ( ) const
inlinenoexcept

Definition at line 122 of file BmnAlignHierarchy.h.

References fLayout.

Referenced by BmnAlignPriors::Apply(), BmnAlignPriors::Check(), BmnAlignConfig::LoadConstraints(), BmnAlignConfig::LoadPresigmas(), BmnAlignTestTask::Make(), BmnAlignConfig::ReadSolution(), and BmnAlignConfig::WriteSolution().

Here is the caller graph for this function:

◆ LeafCount()

Int_t BmnAlignHierarchy::LeafCount ( ) const
inlinenoexcept

Definition at line 125 of file BmnAlignHierarchy.h.

References fLeavesTotal.

Referenced by BmnAlignConfig::LoadConstraints(), BmnAlignTestTask::Make(), and BmnAlignConfig::ReadSolution().

Here is the caller graph for this function:

◆ LeafParams()

Int_t BmnAlignHierarchy::LeafParams ( ) const
inlinenoexcept

Definition at line 127 of file BmnAlignHierarchy.h.

References BMN_GLOBAL_PARAMS_PD, and fLeavesTotal.

Referenced by AllParams(), BmnAlignPriors::Apply(), CompositeParamBase(), EndBuild(), PromoteConstraints(), PromoteSystem(), BmnParamLayout::Rebuild(), ToEffectiveCov(), and ToLeaf().

Here is the caller graph for this function:

◆ Nodes()

const std::vector< Node_t > & BmnAlignHierarchy::Nodes ( ) const
inlinenoexcept

Definition at line 136 of file BmnAlignHierarchy.h.

References fNodes.

Referenced by BmnAlignConfig::LoadConstraints(), and BmnParamLayout::Rebuild().

Here is the caller graph for this function:

◆ PromoteConstraints()

TMatrixD BmnAlignHierarchy::PromoteConstraints ( const TMatrixD & constraints) const
inline

Definition at line 364 of file BmnAlignHierarchy.h.

References AllParams(), fCompositesTotal, fJ, TMatrixT< class Element >::GetSub(), TMatrixT< Double_t >::kMult, LeafParams(), and TMatrixT< class Element >::SetSub().

Referenced by BmnAlignPriors::Check(), and BmnAlignReport::ModesBelow().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PromoteSystem()

void BmnAlignHierarchy::PromoteSystem ( const TVectorD & vB,
const TMatrixD & mC,
TVectorD & vB_h,
TMatrixD & mC_h ) const
inline

Definition at line 378 of file BmnAlignHierarchy.h.

References AllParams(), fCompositesTotal, fJ, TMatrixT< Double_t >::kMult, TMatrixT< Double_t >::kTransposed, LeafParams(), TMatrixT< class Element >::ResizeTo(), TVectorT< class Element >::ResizeTo(), TMatrixT< class Element >::SetSub(), TVectorT< class Element >::SetSub(), and TVectorT< class Element >::Zero().

Here is the call graph for this function:

◆ Ready()

Bool_t BmnAlignHierarchy::Ready ( ) const
inlinenoexcept

Definition at line 120 of file BmnAlignHierarchy.h.

References fReady.

Referenced by BmnAlignTestTask::Make(), and BmnParamLayout::Rebuild().

Here is the caller graph for this function:

◆ ToEffectiveCov()

void BmnAlignHierarchy::ToEffectiveCov ( const TMatrixD & hier,
TMatrixD & eff ) const
inline

Definition at line 416 of file BmnAlignHierarchy.h.

References AllParams(), fCompositesTotal, fJ, TMatrixT< class Element >::GetSub(), TMatrixT< Double_t >::kMult, TMatrixT< Double_t >::kMultTranspose, LeafParams(), TMatrixT< class Element >::ResizeTo(), and TMatrixT< class Element >::SetSub().

Here is the call graph for this function:

◆ ToLeaf()

void BmnAlignHierarchy::ToLeaf ( const TVectorD & hier,
TVectorD & leaf ) const
inline

Definition at line 403 of file BmnAlignHierarchy.h.

References AllParams(), CompositeParams(), fCompositesTotal, fJ, TVectorT< class Element >::GetSub(), LeafParams(), and TVectorT< class Element >::ResizeTo().

Here is the call graph for this function:

Member Data Documentation

◆ fCompositeNode

VecInt_t BmnAlignHierarchy::fCompositeNode
protected

Definition at line 150 of file BmnAlignHierarchy.h.

Referenced by AddComposite(), BeginBuild(), and EndBuild().

◆ fCompositesTotal

Int_t BmnAlignHierarchy::fCompositesTotal {0}
protected

◆ fJ

TMatrixD BmnAlignHierarchy::fJ
protected

◆ fLayout

BmnParamLayout BmnAlignHierarchy::fLayout
protected

Definition at line 148 of file BmnAlignHierarchy.h.

Referenced by EndBuild(), and Layout().

◆ fLeavesTotal

Int_t BmnAlignHierarchy::fLeavesTotal {0}
protected

Definition at line 147 of file BmnAlignHierarchy.h.

Referenced by AddComposite(), BeginBuild(), EndBuild(), LeafCount(), and LeafParams().

◆ fNodes

std::vector<Node_t> BmnAlignHierarchy::fNodes
protected

Definition at line 149 of file BmnAlignHierarchy.h.

Referenced by AddComposite(), BeginBuild(), EndBuild(), FindNode(), and Nodes().

◆ fpDetModel

const BmnDetectorModel* BmnAlignHierarchy::fpDetModel {nullptr}
protected

Definition at line 145 of file BmnAlignHierarchy.h.

Referenced by BeginBuild(), and DetModel().

◆ fReady

Bool_t BmnAlignHierarchy::fReady {kFALSE}
protected

Definition at line 146 of file BmnAlignHierarchy.h.

Referenced by BeginBuild(), EndBuild(), and Ready().


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