CbmRoot
Loading...
Searching...
No Matches
cbm::algo::kf::Setup< T > Class Template Reference

KF-framework representation of the detector setup. More...

#include <KfSetup.h>

Inheritance diagram for cbm::algo::kf::Setup< T >:
[legend]
Collaboration diagram for cbm::algo::kf::Setup< T >:
[legend]

Public Member Functions

 Setup (EFieldMode fldMode)
 Constructor.
 
 ~Setup ()=default
 Destructor.
 
template<typename I >
 Setup (const Setup< I > &other)
 Copy constructor.
 
Setupoperator= (const Setup &other)=default
 Move constructor.
 
template<class EDetID >
void DisableLayer (EDetID iDet, int iLoc)
 Move assignment operator.
 
const Field< T > & GetField () const
 Makes an instance of the field depending on the template parameter.
 
const MaterialMapGetMaterial (int iLayer) const
 Gets material layer.
 
template<class EDetID >
const MaterialMapGetMaterial (EDetID iDet, int iLoc) const
 Gets material layer from external indices.
 
const ModuleIndexMapGetIndexMap () const
 Gets module index map.
 
int GetNofLayers () const
 Gets number of geometry layers.
 
const Target< T > & GetTarget () const
 Gets target.
 
std::string ToString (int verbosity=1, int indentLevel=0) const
 String representation of the class contents.
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Private Attributes

ModuleIndexMap fModuleIndexMap {}
 Index map (internal->external)
 
std::vector< MaterialMapfvMaterialLayers {}
 Container of the material maps.
 
Field< T > fField
 Interpolated field (NOTE: maybe make optional)
 
Target< T > fTarget
 Target layer.
 

Friends

class boost::serialization::access
 
class SetupBuilder
 
template<typename >
class Setup
 

Detailed Description

template<typename T>
class cbm::algo::kf::Setup< T >

KF-framework representation of the detector setup.

Template Parameters
TUnderlying floating-point data type

Definition at line 33 of file KfSetup.h.

Constructor & Destructor Documentation

◆ Setup() [1/2]

template<typename T >
cbm::algo::kf::Setup< T >::Setup ( EFieldMode fldMode)
inline

Constructor.

Parameters
fldModeField mode

Definition at line 42 of file KfSetup.h.

◆ ~Setup()

template<typename T >
cbm::algo::kf::Setup< T >::~Setup ( )
default

Destructor.

◆ Setup() [2/2]

template<typename T >
template<typename I >
cbm::algo::kf::Setup< T >::Setup ( const Setup< I > & other)
inline

Copy constructor.

Template Parameters
IUnderlying floating-point data type of the source

Definition at line 55 of file KfSetup.h.

Member Function Documentation

◆ DisableLayer()

template<typename T >
template<class EDetID >
void cbm::algo::kf::Setup< T >::DisableLayer ( EDetID iDet,
int iLoc )

Move assignment operator.

Disables geo layer

Template Parameters
EDetIDIndex of the detector subsystem
Parameters
iDetDetectorID
iLocLocal index of the module

Definition at line 132 of file KfSetup.h.

◆ GetField()

template<typename T >
const Field< T > & cbm::algo::kf::Setup< T >::GetField ( ) const
inline

Makes an instance of the field depending on the template parameter.

Exceptions
std::logic_errorIf the particular field member is undefined (nullopt)

Definition at line 81 of file KfSetup.h.

◆ GetIndexMap()

template<typename T >
const ModuleIndexMap & cbm::algo::kf::Setup< T >::GetIndexMap ( ) const
inline

Gets module index map.

Definition at line 98 of file KfSetup.h.

Referenced by cbm::algo::kf::SetupBuilder::SetFromSetup().

◆ GetMaterial() [1/2]

template<typename T >
template<class EDetID >
const MaterialMap & cbm::algo::kf::Setup< T >::GetMaterial ( EDetID iDet,
int iLoc ) const
inline

Gets material layer from external indices.

Template Parameters
EDetIDIndex of the detector subsystem
Parameters
iDetDetectorID
iLocLocal index of the module

Definition at line 92 of file KfSetup.h.

◆ GetMaterial() [2/2]

template<typename T >
const MaterialMap & cbm::algo::kf::Setup< T >::GetMaterial ( int iLayer) const
inline

Gets material layer.

Parameters
iLayerIndex of layer

Definition at line 85 of file KfSetup.h.

Referenced by cbm::algo::kf::SetupBuilder::SetFromSetup().

◆ GetNofLayers()

template<typename T >
int cbm::algo::kf::Setup< T >::GetNofLayers ( ) const
inline

Gets number of geometry layers.

Definition at line 101 of file KfSetup.h.

Referenced by cbm::algo::ca::InitManager::SetGeometrySetup().

◆ GetTarget()

template<typename T >
const Target< T > & cbm::algo::kf::Setup< T >::GetTarget ( ) const
inline

Gets target.

Definition at line 104 of file KfSetup.h.

◆ operator=()

template<typename T >
Setup & cbm::algo::kf::Setup< T >::operator= ( const Setup< T > & other)
default

Move constructor.

Copy assignment operator

◆ serialize()

template<typename T >
template<class Archive >
void cbm::algo::kf::Setup< T >::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 113 of file KfSetup.h.

◆ ToString()

template<typename T >
std::string Setup::ToString ( int verbosity = 1,
int indentLevel = 0 ) const

String representation of the class contents.

Parameters
verbosityA verbose level for output
indentLevelIndent level of the string output

Definition at line 20 of file KfSetup.cxx.

Referenced by cbm::algo::kf::SetupBuilder::SetFromSetup().

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<typename T >
friend class boost::serialization::access
friend

Definition at line 34 of file KfSetup.h.

◆ Setup

template<typename T >
template<typename >
friend class Setup
friend

Definition at line 37 of file KfSetup.h.

◆ SetupBuilder

template<typename T >
friend class SetupBuilder
friend

Definition at line 35 of file KfSetup.h.

Member Data Documentation

◆ fField

template<typename T >
Field<T> cbm::algo::kf::Setup< T >::fField
private

Interpolated field (NOTE: maybe make optional)

Definition at line 123 of file KfSetup.h.

Referenced by cbm::algo::kf::SetupBuilder::MakeSetup().

◆ fModuleIndexMap

template<typename T >
ModuleIndexMap cbm::algo::kf::Setup< T >::fModuleIndexMap {}
private

Index map (internal->external)

Definition at line 121 of file KfSetup.h.

Referenced by cbm::algo::kf::SetupBuilder::MakeSetup().

◆ fTarget

template<typename T >
Target<T> cbm::algo::kf::Setup< T >::fTarget
private

◆ fvMaterialLayers

template<typename T >
std::vector<MaterialMap> cbm::algo::kf::Setup< T >::fvMaterialLayers {}
private

Container of the material maps.

Definition at line 122 of file KfSetup.h.

Referenced by cbm::algo::kf::SetupBuilder::MakeSetup().


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