![]() |
DD4hep
1.32.1
Detector Description Toolkit for High Energy Physics
|
#include <MaterialManager.h>
Classes | |
class | ScanData |
Public Member Functions | |
MaterialManager (Volume world) | |
Instantiate the MaterialManager for this (world) volume. More... | |
MaterialManager ()=delete | |
~MaterialManager () | |
const MaterialVec & | materialsBetween (const Vector3D &p0, const Vector3D &p1, double eps=MaterialManager::epsilon) |
const ScanData | entriesBetween (const Vector3D &p0, const Vector3D &p1, double eps=MaterialManager::epsilon) |
As above, but optionally allow access to traversed placements. More... | |
const PlacementVec & | placementsBetween (const Vector3D &p0, const Vector3D &p1, double eps=MaterialManager::epsilon) |
const Material & | materialAt (const Vector3D &pos) |
PlacedVolume | placementAt (const Vector3D &pos) |
MaterialData | createAveragedMaterial (const MaterialVec &materials) |
Static Public Attributes | |
static constexpr const double | epsilon = 1e-4 |
Protected Attributes | |
MaterialVec | _mV |
Cached materials. More... | |
Material | _m |
PlacedVolume | _pv |
Cached nodes. More... | |
PlacementVec | _placeV |
Vector3D | _p0 |
cached last points More... | |
Vector3D | _p1 |
Vector3D | _pos |
TGeoManager * | _tgeoMgr |
Reference to the TGeoManager. More... | |
Material manager provides access to the material properties of the detector. Material can be accessed either for a given point or as a list of materials along a straight line between two points.
Definition at line 41 of file MaterialManager.h.
dd4hep::rec::MaterialManager::MaterialManager | ( | Volume | world | ) |
Instantiate the MaterialManager for this (world) volume.
Definition at line 27 of file MaterialManager.cpp.
|
delete |
dd4hep::rec::MaterialManager::~MaterialManager | ( | ) |
Definition at line 31 of file MaterialManager.cpp.
MaterialData dd4hep::rec::MaterialManager::createAveragedMaterial | ( | const MaterialVec & | materials | ) |
Create a material with averaged properties from all materials in the list. A and Z are averaged by relative number of atoms(molecules), rho is averaged by relative volume and the inverse radiation and interaction lengths are averaged by relative weight.
Definition at line 208 of file MaterialManager.cpp.
const MaterialManager::ScanData dd4hep::rec::MaterialManager::entriesBetween | ( | const Vector3D & | p0, |
const Vector3D & | p1, | ||
double | eps = MaterialManager::epsilon |
||
) |
As above, but optionally allow access to traversed placements.
Definition at line 40 of file MaterialManager.cpp.
Get the material at the given position.
Definition at line 178 of file MaterialManager.cpp.
const MaterialVec & dd4hep::rec::MaterialManager::materialsBetween | ( | const Vector3D & | p0, |
const Vector3D & | p1, | ||
double | eps = MaterialManager::epsilon |
||
) |
Get a vector with all the materials between the two points p0 and p1 with the corresponding thicknesses - element type is std::pair< Material, double >. Materials with a thickness smaller than epsilon (default 1e-4=1mu) are ignored. Avoid calling this method in inner loops as the computation is not cheap. Ideally the result should be cached, for example as an averaged material
Definition at line 47 of file MaterialManager.cpp.
PlacedVolume dd4hep::rec::MaterialManager::placementAt | ( | const Vector3D & | pos | ) |
Get the placed volume at the given position.
Definition at line 193 of file MaterialManager.cpp.
const PlacementVec & dd4hep::rec::MaterialManager::placementsBetween | ( | const Vector3D & | p0, |
const Vector3D & | p1, | ||
double | eps = MaterialManager::epsilon |
||
) |
Get a vector with all the placements between the two points p0 and p1
Definition at line 35 of file MaterialManager.cpp.
|
protected |
Definition at line 99 of file MaterialManager.h.
|
protected |
Cached materials.
Definition at line 98 of file MaterialManager.h.
|
protected |
cached last points
Definition at line 104 of file MaterialManager.h.
|
protected |
Definition at line 104 of file MaterialManager.h.
|
protected |
Definition at line 102 of file MaterialManager.h.
|
protected |
Definition at line 104 of file MaterialManager.h.
|
protected |
Cached nodes.
Definition at line 101 of file MaterialManager.h.
|
protected |
Reference to the TGeoManager.
Definition at line 106 of file MaterialManager.h.
|
staticconstexpr |
Definition at line 44 of file MaterialManager.h.