ATLAS Offline Software
|
#include <HomogeneousLayerMaterial.h>
Public Member Functions | |
HomogeneousLayerMaterial () | |
Default Constructor - creates empty HomogeneousLayerMaterial. More... | |
HomogeneousLayerMaterial (const MaterialProperties &full, double splitFactor) | |
Explicit constructor with only full MaterialProperties. More... | |
HomogeneousLayerMaterial (const HomogeneousLayerMaterial &mprop) | |
Copy Constructor. More... | |
virtual | ~HomogeneousLayerMaterial () override |
Destructor. More... | |
virtual HomogeneousLayerMaterial * | clone () const override |
Pseudo-Constructor clone() More... | |
HomogeneousLayerMaterial & | operator= (const HomogeneousLayerMaterial &lmp) |
Assignment operator. More... | |
HomogeneousLayerMaterial (Trk::HomogeneousLayerMaterial &&lmp)=default | |
Default move constructor. More... | |
HomogeneousLayerMaterial & | operator= (Trk::HomogeneousLayerMaterial &&lmp)=default |
Default move assignment operator. More... | |
virtual HomogeneousLayerMaterial & | operator*= (double scale) override |
Scale operator. More... | |
virtual const MaterialProperties * | fullMaterial (const Amg::Vector3D &gp) const override |
Return method for full material description of the Layer. More... | |
virtual const MaterialProperties * | material (size_t ib0, size_t ib1) const override |
Direct access via bins to the MaterialProperties. More... | |
virtual const BinUtility * | binUtility () const override |
Return the BinUtility. More... | |
virtual void | updateBinning (BinUtility *) override |
Update the BinUtility if necessary - passing ownership of the utility class. More... | |
virtual MsgStream & | dump (MsgStream &sl) const override |
Output Method for MsgStream, to be overloaded by child classes. More... | |
virtual std::ostream & | dump (std::ostream &sl) const override |
Output Method for std::ostream, to be overloaded by child classes. More... | |
void | updateElementTable (const SharedObject< const ElementTable > &) const |
Update the ElementTable. More... | |
const ElementTable * | elementTable () const |
Get the ElementTable. More... | |
double | factor (PropDirection pDir, MaterialUpdateStage mStage) const |
Update pre factor. More... | |
double | alongPreFactor () const |
Return method for pre update material description of the Layer along normalvector. More... | |
double | alongPostFactor () const |
Return method for post update material description of the Layer along normalvector. More... | |
double | oppositePreFactor () const |
Return method for pre update material description of the Layer along normalvector. More... | |
double | oppositePostFactor () const |
Return method for post update material description of the Layer along normalvector. More... | |
Protected Attributes | |
double | m_splitFactor |
the split factor in favour of oppositePre More... | |
Private Attributes | |
std::unique_ptr< MaterialProperties > | m_fullMaterial |
The five different MaterialProperties. More... | |
Friends | |
class | ::HomogeneousLayerMaterialCnv_p1 |
It extends the LayerMaterialProperties base class.
This class encapsulates the logic to build pre/post/full update material for Layer structures, it hosts 5 different MaterialProperties in the following order:
This is handled by a full Layer information and a split factor.
Definition at line 53 of file HomogeneousLayerMaterial.h.
Trk::HomogeneousLayerMaterial::HomogeneousLayerMaterial | ( | ) |
Default Constructor - creates empty HomogeneousLayerMaterial.
Definition at line 13 of file HomogeneousLayerMaterial.cxx.
Trk::HomogeneousLayerMaterial::HomogeneousLayerMaterial | ( | const MaterialProperties & | full, |
double | splitFactor | ||
) |
Explicit constructor with only full MaterialProperties.
alongPre and oppositePre, alongPre and oppositePost are obviously swapped
Definition at line 16 of file HomogeneousLayerMaterial.cxx.
Trk::HomogeneousLayerMaterial::HomogeneousLayerMaterial | ( | const HomogeneousLayerMaterial & | mprop | ) |
|
overridevirtualdefault |
Destructor.
|
default |
Default move constructor.
|
inlineinherited |
Return method for post update material description of the Layer along normalvector.
Definition at line 142 of file LayerMaterialProperties.h.
|
inlineinherited |
Return method for pre update material description of the Layer along normalvector.
inline return methods for the pre/post factors
Definition at line 138 of file LayerMaterialProperties.h.
|
inlineoverridevirtual |
Return the BinUtility.
Implements Trk::LayerMaterialProperties.
Definition at line 93 of file HomogeneousLayerMaterial.h.
|
inlineoverridevirtual |
Pseudo-Constructor clone()
Implements Trk::LayerMaterialProperties.
Definition at line 111 of file HomogeneousLayerMaterial.h.
|
overridevirtual |
Output Method for MsgStream, to be overloaded by child classes.
Implements Trk::LayerMaterialProperties.
Definition at line 47 of file HomogeneousLayerMaterial.cxx.
|
overridevirtual |
Output Method for std::ostream, to be overloaded by child classes.
Implements Trk::LayerMaterialProperties.
Definition at line 57 of file HomogeneousLayerMaterial.cxx.
|
inlineinherited |
Get the ElementTable.
Definition at line 90 of file LayerMaterialProperties.h.
|
inlineinherited |
Update pre factor.
inline return methods for the pre/post factors
Definition at line 130 of file LayerMaterialProperties.h.
|
inlineoverridevirtual |
Return method for full material description of the Layer.
Implements Trk::LayerMaterialProperties.
Definition at line 115 of file HomogeneousLayerMaterial.h.
|
inlineoverridevirtual |
Direct access via bins to the MaterialProperties.
Implements Trk::LayerMaterialProperties.
Definition at line 120 of file HomogeneousLayerMaterial.h.
|
overridevirtual |
Scale operator.
Implements Trk::LayerMaterialProperties.
Definition at line 39 of file HomogeneousLayerMaterial.cxx.
Trk::HomogeneousLayerMaterial & Trk::HomogeneousLayerMaterial::operator= | ( | const HomogeneousLayerMaterial & | lmp | ) |
|
default |
Default move assignment operator.
|
inlineinherited |
Return method for post update material description of the Layer along normalvector.
Definition at line 150 of file LayerMaterialProperties.h.
|
inlineinherited |
Return method for pre update material description of the Layer along normalvector.
Definition at line 146 of file LayerMaterialProperties.h.
|
inlineoverridevirtual |
Update the BinUtility if necessary - passing ownership of the utility class.
Implements Trk::LayerMaterialProperties.
Definition at line 97 of file HomogeneousLayerMaterial.h.
|
inlineinherited |
|
friend |
Definition at line 105 of file HomogeneousLayerMaterial.h.
|
private |
The five different MaterialProperties.
Definition at line 108 of file HomogeneousLayerMaterial.h.
|
protectedinherited |
the split factor in favour of oppositePre
Definition at line 126 of file LayerMaterialProperties.h.