ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DetUtils.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DetUtils.h
1 #pragma once
2 
3 // DD4hep
6 #include "DD4hep/DetFactoryHelper.h"
7 #include "DD4hep/Detector.h"
8 #include "DD4hep/Objects.h"
9 #include "DD4hep/Segmentations.h"
10 #include "DDSegmentation/BitField64.h"
11 #include "DDSegmentation/CartesianGridXY.h"
12 #include "DDSegmentation/CartesianGridXYZ.h"
13 #include "DDSegmentation/PolarGridRPhi.h"
14 
21 namespace det {
22 namespace utils {
23 
33  std::shared_ptr<const Acts::DigitizationModule>
34  rectangleDigiModuleXZ(double halflengthX,
35  double halflengthZ,
36  double thickness,
37  const dd4hep::Segmentation& segmentation);
38 
49  std::shared_ptr<const Acts::DigitizationModule>
50  rectangleDigiModuleXZ(double halflengthX,
51  double halflengthZ,
52  double thickness,
53  double gridSizeX,
54  double gridSizeZ);
55 
68  std::shared_ptr<const Acts::DigitizationModule>
69  trapezoidalDigiModuleXZ(double minHalflengthX,
70  double maxHalflengthX,
71  double halflengthZ,
72  double thickness,
73  const dd4hep::Segmentation& segmentation);
74 
88  std::shared_ptr<const Acts::DigitizationModule>
89  trapezoidalDigiModuleXZ(double minHalflengthX,
90  double maxHalflengthX,
91  double halflengthZ,
92  double thickness,
93  double gridSizeX,
94  double gridSizeZ);
95 
101  dd4hep::xml::Component
102  getNodeByStrAttr(const dd4hep::xml::Handle_t& mother,
103  const std::string& nodeName,
104  const std::string& attrName,
105  const std::string& attrValue);
106 
109  double
110  getAttrValueWithFallback(const dd4hep::xml::Component& node,
111  const std::string& attrName,
112  const double& defaultValue);
113 }
114 }
115