|
|
Definition at line 26 of file DDAHcalModuleAlgo.cc.
◆ DDAHcalModuleAlgo()
DDAHcalModuleAlgo::DDAHcalModuleAlgo |
( |
| ) |
|
◆ ~DDAHcalModuleAlgo()
DDAHcalModuleAlgo::~DDAHcalModuleAlgo |
( |
| ) |
|
|
override |
◆ constructLayers()
Definition at line 142 of file DDAHcalModuleAlgo.cc.
144 edm::LogVerbatim(
"HGCalGeom") <<
"DDAHcalModuleAlgo test: \t\tInside Layers";
148 for (
unsigned int i = 0;
i <
layers.size();
i++) {
150 int laymax = laymin +
layers[
i];
153 for (
int ly = laymin; ly < laymax; ++ly) {
161 edm::LogVerbatim(
"HGCalGeom") <<
"DDAHcalModuleAlgo test: Layer " << ly <<
":" <<
ii <<
" Front " << zi
162 <<
" Back " << zo <<
" superlayer thickness " <<
layerThick[
i];
172 edm::LogVerbatim(
"HGCalGeom") <<
"DDAHcalModuleAlgo: " << solid.
name() <<
" Box made of " << matName
173 <<
" of dimensions " << 0.5 *
widths[0] <<
", " << 0.5 *
heights[0] <<
", "
181 edm::LogVerbatim(
"HGCalGeom") <<
"DDAHcalModuleAlgo: " << solid.
name() <<
" Box made of " << matName
182 <<
" of dimensions " << 0.5 *
widths[1] <<
", " << 0.5 *
heights[1] <<
", "
193 <<
module.name() <<
" at " <<
r1 <<
" with " <<
rot;
202 << thickTot <<
" of all its components **** ERROR ****\n";
205 << thickTot <<
" of the components\n";
References DDSolidFactory::box(), filterCSVwithJSON::copy, copyNumber, DDBase< N, C >::ddname(), DDSplit(), dqmdumpme::first, heights, mps_fire::i, idNameSpace, cuy::ii, layers, layerSense, layerThick, layerType, materials, Skims_PA_cff::name, DDBase< N, C >::name(), names, DDCompactView::position(), positionSensitive(), diffTwoXMLs::r1, makeMuonMisalignmentScenario::rot, edm::second(), AlCaHLTBitMon_QueryRunRegistry::string, thick, widths, zMinBlock, and geometryCSVtoXML::zz.
Referenced by execute().
◆ execute()
◆ initialize()
Definition at line 69 of file DDAHcalModuleAlgo.cc.
74 tile = sArgs[
"TileName"];
79 names = vsArgs[
"VolumeNames"];
80 thick = vArgs[
"Thickness"];
86 for (
unsigned int i = 0;
i <
names.size(); ++
i)
94 for (
unsigned int i = 0;
i <
layers.size(); ++
i)
111 for (
unsigned int i = 0;
i <
widths.size(); ++
i)
117 edm::LogVerbatim(
"HGCalGeom") <<
"DDAHcalModuleAlgo: " <<
tileN.size() <<
" tile positioning parameters";
118 for (
unsigned int i = 0;
i <
tileN.size(); ++
i)
References copyNumber, dbl_to_int(), heights, mps_fire::i, idNameSpace, layers, layerSense, layerThick, layerType, materials, names, DDCurrentNamespace::ns(), thick, tile, tileN, tileStep, widths, and zMinBlock.
◆ positionSensitive()
Definition at line 210 of file DDAHcalModuleAlgo.cc.
211 int ncol =
tileN[0] / 2;
212 int nrow =
tileN[1] / 2;
217 for (
int nr = -nrow;
nr <= nrow; ++
nr) {
218 int inr = (
nr >= 0) ?
nr : -
nr;
220 for (
int nc = -ncol; nc <= ncol; ++nc) {
221 int inc = (nc >= 0) ? nc : -nc;
222 double xpos = (nc >= 0) ? (inc - 0.5) *
tileStep[0] : -(inc - 0.5) *
tileStep[0];
223 if (
nr != 0 && nc != 0) {
References filterCSVwithJSON::copy, DDBase< N, C >::ddname(), DDSplit(), dqmdumpme::first, AHCalParameters::kColumn_, AHCalParameters::kRowColumn_, AHCalParameters::kSignRowColumn_, Skims_PA_cff::name, EgHLTOffHistBins_cfi::nr, DDCompactView::position(), idealTransformation::rotation, edm::second(), tile, tileN, and tileStep.
Referenced by constructLayers().
◆ copyNumber
std::vector<int> DDAHcalModuleAlgo::copyNumber |
|
private |
◆ heights
std::vector<double> DDAHcalModuleAlgo::heights |
|
private |
◆ idNameSpace
std::string DDAHcalModuleAlgo::idNameSpace |
|
private |
◆ layers
std::vector<int> DDAHcalModuleAlgo::layers |
|
private |
◆ layerSense
std::vector<int> DDAHcalModuleAlgo::layerSense |
|
private |
◆ layerThick
std::vector<double> DDAHcalModuleAlgo::layerThick |
|
private |
◆ layerType
std::vector<int> DDAHcalModuleAlgo::layerType |
|
private |
◆ materials
std::vector<std::string> DDAHcalModuleAlgo::materials |
|
private |
◆ names
std::vector<std::string> DDAHcalModuleAlgo::names |
|
private |
◆ thick
std::vector<double> DDAHcalModuleAlgo::thick |
|
private |
◆ tile
std::string DDAHcalModuleAlgo::tile |
|
private |
◆ tileN
std::vector<int> DDAHcalModuleAlgo::tileN |
|
private |
◆ tileStep
std::vector<double> DDAHcalModuleAlgo::tileStep |
|
private |
◆ widths
std::vector<double> DDAHcalModuleAlgo::widths |
|
private |
◆ zMinBlock
double DDAHcalModuleAlgo::zMinBlock |
|
private |
std::vector< double > heights
std::vector< int > layerSense
DDName is used to identify DDD entities uniquely.
void positionSensitive(DDLogicalPart &glog, DDCompactView &cpv)
std::vector< std::string > materials
std::vector< double > widths
U second(std::pair< T, U > const &p)
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
std::vector< int > copyNumber
DDMaterial is used to define and access material information.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
std::vector< int > layers
static constexpr int kSignRowColumn_
std::vector< double > thick
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
static constexpr int kColumn_
Constants used.
std::vector< std::string > names
static std::string & ns()
std::vector< int > layerType
A DDSolid represents the shape of a part.
Represents a uniquely identifyable rotation matrix.
void constructLayers(const DDLogicalPart &, DDCompactView &cpv)
std::vector< double > layerThick
static DDSolid box(const DDName &name, double xHalf, double yHalf, double zHalf)
Creates a box with side length 2*xHalf, 2*yHalf, 2*zHalf.
static constexpr int kRowColumn_
std::vector< double > tileStep
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)