|
|
Go to the documentation of this file.
11 #include "CLHEP/Units/GlobalSystemOfUnits.h"
29 LogDebug(
"ME0GeometryParsFromDD") <<
"Building the geometry service";
30 LogDebug(
"ME0GeometryParsFromDD") <<
"About to run through the ME0 structure\n"
37 LogDebug(
"ME0GeometryParsFromDD") <<
"doChamber = " << doChambers;
105 DDValue numbOfStrips(
"nStrips");
108 double nStrips = 0., nPads = 0.;
109 for (
auto const& is :
specs) {
113 nPads = numbOfPads.
doubles()[0];
115 LogDebug(
"ME0GeometryParsFromDD") << ((
nStrips == 0.) ? (
"No nStrips found!!")
116 : (
"Number of strips: " + std::to_string(
nStrips)));
117 LogDebug(
"ME0GeometryParsFromDD") << ((nPads == 0.) ? (
"No nPads found!!")
118 : (
"Number of pads: " + std::to_string(nPads)));
122 pars.emplace_back(nPads);
135 LogDebug(
"ME0GeometryParsFromDD") <<
"dimension dx1 " << dpar[4] <<
", dx2 " << dpar[8] <<
", dy " << dpar[0]
136 <<
", dz " << dpar[3];
137 return {dpar[4], dpar[8], dpar[0], dpar[3]};
142 return {tran.x(), tran.y(), tran.z()};
148 rota.GetComponents(
x,
y,
z);
149 return {
x.X(),
x.Y(),
x.Z(),
y.X(),
y.Y(),
y.Z(),
z.X(),
z.Y(),
z.Z()};
void buildEtaPartition(DDFilteredView &fv, ME0DetId detId, RecoIdealGeometry &rgeo)
MuonBaseNumber geoHistoryToBaseNumber(const DDGeoHistory &history) const
void buildLayer(DDFilteredView &fv, ME0DetId detId, RecoIdealGeometry &rgeo)
int baseNumberToUnitNumber(const MuonBaseNumber &) const override
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the filtered-view.
std::vector< double > getDimension(DDFilteredView &fv)
void buildGeometry(DDFilteredView &, const MuonGeometryConstants &, RecoIdealGeometry &)
bool parent()
set the current node to the parent node ...
ME0DetId layerId() const
Return the corresponding LayerId (mask eta partition)
bool firstChild()
set the current node to the first child ...
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Compact representation of the geometrical detector hierarchy.
void buildChamber(DDFilteredView &fv, ME0DetId detId, RecoIdealGeometry &rgeo)
bool nextSibling()
set the current node to the next sibling ...
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
std::vector< double > getRotation(DDFilteredView &fv)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DD3Vector
const std::string & name() const
Returns the name.
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
std::vector< const DDsvalues_type * > specifics() const
nStrips
1.2 is to make the matching window safely the two nearest strips 0.35 is the size of an ME0 chamber i...
void build(const DDCompactView *, const MuonGeometryConstants &, RecoIdealGeometry &)
ME0DetId chamberId() const
Return the corresponding ChamberId (mask layers)
constexpr uint32_t rawId() const
get the raw id
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
const DDTranslation & translation() const
The absolute translation of the current node.
const std::vector< double > & parameters(void) const
Give the parameters of the solid.
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
const std::vector< double > & doubles() const
a reference to the double-valued values stored in the given instance of DDValue
bool insert(DetId id, const std::vector< double > &trans, const std::vector< double > &rot, const std::vector< double > &pars)
const DDSolid & solid(void) const
Returns a reference object of the solid being the shape of this LogicalPart.
std::vector< double > getTranslation(DDFilteredView &fv)