9#ifndef TRKGEOMETRY_LAYERMATERIALRECORD_H
10#define TRKGEOMETRY_LAYERMATERIALRECORD_H
21#define ucharbin 0.00392157
23#define uchar2uint(uchar) static_cast<unsigned int>(uchar)
24#define uint2uchar(unint) static_cast<unsigned char>(unint)
26#define uchar2dfrac(uchar) double(uchar * ucharbin)
27#define dfrac2uchar(dfrac) lrint(dfrac* UCHAR_MAX)
40class AssociatedMaterial;
71 bool fullHit =
false);
80 const std::vector<std::vector<unsigned int> >&
binCounts()
const;
133inline const std::vector<std::vector<unsigned int> >&
It is used in the Mapping process ( using MaterialSteps ), the validation and recostruction ( using M...
A generic symmetric BinUtility, for fully symmetric binning in terms of binning grid and binning type...
int m_bins1
number of bins in coordinate 2
std::vector< std::vector< unsigned int > > m_run_events
LayerMaterialRecord()
Default Constructor.
std::vector< std::vector< double > > m_run_s_in_x0
double m_layerThickness
record the layerThickness
std::vector< std::vector< double > > m_run_s
LayerMaterialRecord & operator=(const LayerMaterialRecord &lmr)
Assignment operator.
std::map< unsigned int, double > m_elements
Amg::Vector3D m_pos
event related information
std::vector< std::vector< double > > m_run_a
MaterialAssociationType m_assoc
type of hit association
void finalizeRun(bool recordElements=true)
finalize the Run
AssociatedMaterial * finalizeEvent(const Trk::Layer &lay, bool fullHit=false)
finalize the Event
std::vector< std::vector< Amg::Vector3D > > m_run_pos
MaterialPropertiesMatrix m_associatedLayerMaterial
clear the material -> calls delete
BinUtility * m_binUtility
record the BinnedArray
std::vector< std::vector< std::map< unsigned int, double > > > m_run_elements
the final material properties
void clearMaterial()
copy from another vector
const std::vector< std::vector< unsigned int > > & binCounts() const
return method for the events used for this
void associateGeantinoHit(const Amg::Vector3D &pos, double s, const Trk::Material &mat)
adding the information about the Geantino hit
void copyMaterial(const MaterialPropertiesMatrix &mat)
~LayerMaterialRecord()
Destructor.
const MaterialPropertiesMatrix & associatedLayerMaterial() const
return method for the LayerMaterial
void associateEmptyHit(const Amg::Vector3D &pos)
adding the information about an empty hit scaling- particle crossed layer, but no mapping information
const Trk::BinUtility * binUtility() const
return the BinUtility
std::vector< std::vector< double > > m_run_s_in_l0
std::vector< std::vector< double > > m_run_z
double m_minFraction
minimum element fraction to be recorded
int m_bins0
number of bins in coordinate 1
std::vector< std::vector< double > > m_run_rho
Base Class for a Detector Layer in the Tracking realm.
A common object to be contained by.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< std::vector< const MaterialProperties * > > MaterialPropertiesMatrix