Skip to content
Snippets Groups Projects
Commit 4a651357 authored by Nikiforos Nikiforou's avatar Nikiforos Nikiforou
Browse files

Added minor functionality to DDCore/XML/Layering

parent ddc3f44e
No related branches found
No related tags found
No related merge requests found
......@@ -154,6 +154,9 @@ namespace DD4hep {
return _stack.totalThickness();
}
double singleLayerThickness(XML::Element e) const;
double absorberThicknessInLayer(XML::Element e) const;
void sensitivePositionsInLayer(XML::Element e,std::vector<double>& sens_pos) const;
};
/// Namespace containing utilities to parse XML files using XercesC or TinyXML
......
......@@ -121,3 +121,28 @@ double Layering::singleLayerThickness(XML::Element e) const {
}
return thickness;
}
double Layering::absorberThicknessInLayer(XML::Element e) const {
Component lay = e;
double thickness = 0e0;
for (Collection_t s(lay, _U(slice)); s; ++s) {
Component slice = s;
if (slice.isRadiator())
thickness += slice.thickness();
}
return thickness;
}
void Layering::sensitivePositionsInLayer(XML::Element e, std::vector<double>& sens_pos) const {
Component lay = e;
double pos=-singleLayerThickness(e)/2.0;
for (Collection_t s(lay, _U(slice)); s; ++s) {
Component slice = s;
pos += slice.thickness();
if (slice.isSensitive()){
//store the position at the center of the slice
sens_pos.push_back(pos - slice.thickness()/2.);
}
}
}
\ No newline at end of file
......@@ -3,6 +3,15 @@
DD4hep ---- Release Notes
=================================
2015-08-12 N.Nikiforou
-----------------------
- DDCore/XML: Added new helper functions to Layering engine:
- double absorberThicknessInLayer(XML::Element e) :
returns total absorber thickness in given layer
- void sensitivePositionsInLayer(XML::Element e, std::vector<double>& sens_pos) :
provides positions of sensitive slices within a layer with respect to the
center of the layer
2015-07-25 M.Frank
------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment