CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
DDHGCalModule Class Reference
Inheritance diagram for DDHGCalModule:

Public Member Functions

 DDHGCalModule ()
 
void execute (DDCompactView &cpv) override
 
void initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) override
 
 ~DDHGCalModule () override
 

Protected Member Functions

void constructLayers (const DDLogicalPart &, DDCompactView &cpv)
 
void positionSensitive (DDLogicalPart &glog, double rin, double rout, DDCompactView &cpv)
 
double rMax (double z)
 

Private Attributes

std::unordered_set< int > copies
 
std::vector< int > copyNumber
 
std::string idName
 
std::string idNameSpace
 
std::vector< int > layers
 
std::vector< int > layerSense
 
std::vector< double > layerThick
 
std::vector< int > layerType
 
std::vector< std::string > materials
 
std::vector< std::string > names
 
double rMaxFine
 
std::vector< double > rMaxFront
 
int sectors
 
std::vector< double > slopeB
 
std::vector< double > slopeT
 
std::vector< double > thick
 
std::vector< std::string > wafer
 
double waferW
 
std::vector< double > zFront
 
double zMinBlock
 

Detailed Description

Definition at line 31 of file DDHGCalModule.cc.

Constructor & Destructor Documentation

◆ DDHGCalModule()

DDHGCalModule::DDHGCalModule ( )

Definition at line 72 of file DDHGCalModule.cc.

72  {
73 #ifdef EDM_ML_DEBUG
74  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: Creating an instance";
75 #endif
76 }

◆ ~DDHGCalModule()

DDHGCalModule::~DDHGCalModule ( )
override

Definition at line 78 of file DDHGCalModule.cc.

78 {}

Member Function Documentation

◆ constructLayers()

void DDHGCalModule::constructLayers ( const DDLogicalPart module,
DDCompactView cpv 
)
protected

Definition at line 166 of file DDHGCalModule.cc.

166  {
167 #ifdef EDM_ML_DEBUG
168  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: \t\tInside Layers";
169 #endif
170  double zi(zMinBlock);
171  int laymin(0);
172  const double tol(0.01);
173  for (unsigned int i = 0; i < layers.size(); i++) {
174  double zo = zi + layerThick[i];
175  double routF = rMax(zi);
176  int laymax = laymin + layers[i];
177  double zz = zi;
178  double thickTot(0);
179  for (int ly = laymin; ly < laymax; ++ly) {
180  int ii = layerType[ly];
181  int copy = copyNumber[ii];
182  double rinB = (layerSense[ly] == 0) ? (zo * slopeB[0]) : (zo * slopeB[1]);
183  zz += (0.5 * thick[ii]);
184  thickTot += thick[ii];
185 
186  std::string name = "HGCal" + names[ii] + std::to_string(copy);
187 #ifdef EDM_ML_DEBUG
188  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: Layer " << ly << ":" << ii << " Front " << zi << ", " << routF
189  << " Back " << zo << ", " << rinB << " superlayer thickness " << layerThick[i];
190 #endif
192  DDMaterial matter(matName);
193  DDLogicalPart glog;
194  if (layerSense[ly] == 0) {
196  double rmax = routF * cos(alpha) - tol;
197  std::vector<double> pgonZ, pgonRin, pgonRout;
198  pgonZ.emplace_back(-0.5 * thick[ii]);
199  pgonZ.emplace_back(0.5 * thick[ii]);
200  pgonRin.emplace_back(rinB);
201  pgonRin.emplace_back(rinB);
202  pgonRout.emplace_back(rmax);
203  pgonRout.emplace_back(rmax);
205  DDName(name, idNameSpace), sectors, -alpha, 2 * geant_units::piRadians, pgonZ, pgonRin, pgonRout);
206  glog = DDLogicalPart(solid.ddname(), matter, solid);
207 #ifdef EDM_ML_DEBUG
208  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << solid.name() << " polyhedra of " << sectors
209  << " sectors covering " << convertRadToDeg(-alpha) << ":"
210  << (360.0 + convertRadToDeg(-alpha)) << " with " << pgonZ.size() << " sections";
211  for (unsigned int k = 0; k < pgonZ.size(); ++k)
212  edm::LogVerbatim("HGCalGeom") << "[" << k << "] z " << pgonZ[k] << " R " << pgonRin[k] << ":" << pgonRout[k];
213 #endif
214  } else {
216  DDName(name, idNameSpace), 0.5 * thick[ii], rinB, routF, 0.0, 2 * geant_units::piRadians);
217  glog = DDLogicalPart(solid.ddname(), matter, solid);
218 #ifdef EDM_ML_DEBUG
219  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << solid.name() << " Tubs made of " << matName
220  << " of dimensions " << rinB << ", " << routF << ", " << 0.5 * thick[ii]
221  << ", 0.0, 360.0";
222  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule test position in: " << glog.name() << " number " << copy;
223 #endif
224  positionSensitive(glog, rinB, routF, cpv);
225  }
226  DDTranslation r1(0, 0, zz);
227  DDRotation rot;
228  cpv.position(glog, module, copy, r1, rot);
229  ++copyNumber[ii];
230 #ifdef EDM_ML_DEBUG
231  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << glog.name() << " number " << copy << " positioned in "
232  << module.name() << " at " << r1 << " with " << rot;
233 #endif
234  zz += (0.5 * thick[ii]);
235  } // End of loop over layers in a block
236  zi = zo;
237  laymin = laymax;
238  if (fabs(thickTot - layerThick[i]) < 0.00001) {
239  } else if (thickTot > layerThick[i]) {
240  edm::LogError("HGCalGeom") << "Thickness of the partition " << layerThick[i] << " is smaller than thickness "
241  << thickTot << " of all its components **** ERROR ****\n";
242  } else if (thickTot < layerThick[i]) {
243  edm::LogWarning("HGCalGeom") << "Thickness of the partition " << layerThick[i] << " does not match with "
244  << thickTot << " of the components\n";
245  }
246  } // End of loop over blocks
247 }

References zMuMuMuonUserData::alpha, angle_units::operators::convertRadToDeg(), filterCSVwithJSON::copy, funct::cos(), DDBase< N, C >::ddname(), DDSplit(), dqmdumpme::first, mps_fire::i, cuy::ii, dqmdumpme::k, hgcalTopologyTester_cfi::layers, Skims_PA_cff::name, DDBase< N, C >::name(), names, angle_units::piRadians(), DDSolidFactory::polyhedra(), DDCompactView::position(), diffTwoXMLs::r1, photonAnalyzer_cfi::rMax, makeMuonMisalignmentScenario::rot, edm::second(), volumeBasedMagneticField_160812_cfi::sectors, AlCaHLTBitMon_QueryRunRegistry::string, DDSolidFactory::tubs(), and geometryCSVtoXML::zz.

◆ execute()

void DDHGCalModule::execute ( DDCompactView cpv)
override

Definition at line 148 of file DDHGCalModule.cc.

148  {
149 #ifdef EDM_ML_DEBUG
150  edm::LogVerbatim("HGCalGeom") << "==>> Constructing DDHGCalModule...";
151 #endif
152  copies.clear();
153  constructLayers(parent(), cpv);
154 #ifdef EDM_ML_DEBUG
155  edm::LogVerbatim("HGCalGeom") << copies.size() << " different wafer copy numbers";
156  int k(0);
157  for (std::unordered_set<int>::const_iterator itr = copies.begin(); itr != copies.end(); ++itr, ++k)
158  edm::LogVerbatim("HGCalGeom") << "Copy[" << k << "] : " << (*itr);
159 #endif
160  copies.clear();
161 #ifdef EDM_ML_DEBUG
162  edm::LogVerbatim("HGCalGeom") << "<<== End of DDHGCalModule construction ...";
163 #endif
164 }

References DDHGCalGeom::constructLayers(), dqmdumpme::k, and class-composition::parent.

◆ initialize()

void DDHGCalModule::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)
override

Definition at line 80 of file DDHGCalModule.cc.

84  {
85  wafer = vsArgs["WaferName"];
86 #ifdef EDM_ML_DEBUG
87  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << wafer.size() << " wafers";
88  for (unsigned int i = 0; i < wafer.size(); ++i)
89  edm::LogVerbatim("HGCalGeom") << "Wafer[" << i << "] " << wafer[i];
90 #endif
91  materials = vsArgs["MaterialNames"];
92  names = vsArgs["VolumeNames"];
93  thick = vArgs["Thickness"];
94  for (unsigned int i = 0; i < materials.size(); ++i) {
95  copyNumber.emplace_back(1);
96  }
97 #ifdef EDM_ML_DEBUG
98  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << materials.size() << " types of volumes";
99  for (unsigned int i = 0; i < names.size(); ++i)
100  edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << names[i] << " of thickness " << thick[i]
101  << " filled with " << materials[i] << " first copy number " << copyNumber[i];
102 #endif
103  layers = dbl_to_int(vArgs["Layers"]);
104  layerThick = vArgs["LayerThick"];
105 #ifdef EDM_ML_DEBUG
106  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << layers.size() << " blocks";
107  for (unsigned int i = 0; i < layers.size(); ++i)
108  edm::LogVerbatim("HGCalGeom") << "Block [" << i << "] of thickness " << layerThick[i] << " with " << layers[i]
109  << " layers";
110 #endif
111  layerType = dbl_to_int(vArgs["LayerType"]);
112  layerSense = dbl_to_int(vArgs["LayerSense"]);
113 #ifdef EDM_ML_DEBUG
114  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << layerType.size() << " layers";
115  for (unsigned int i = 0; i < layerType.size(); ++i)
116  edm::LogVerbatim("HGCalGeom") << "Layer [" << i << "] with material type " << layerType[i] << " sensitive class "
117  << layerSense[i];
118 #endif
119  zMinBlock = nArgs["zMinBlock"];
120  rMaxFine = nArgs["rMaxFine"];
121  waferW = nArgs["waferW"];
122  sectors = (int)(nArgs["Sectors"]);
123 #ifdef EDM_ML_DEBUG
124  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: zStart " << zMinBlock << " rFineCoarse " << rMaxFine
125  << " wafer width " << waferW << " sectors " << sectors;
126 #endif
127  slopeB = vArgs["SlopeBottom"];
128  slopeT = vArgs["SlopeTop"];
129  zFront = vArgs["ZFront"];
130  rMaxFront = vArgs["RMaxFront"];
131 #ifdef EDM_ML_DEBUG
132  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: Bottom slopes " << slopeB[0] << ":" << slopeB[1] << " and "
133  << slopeT.size() << " slopes for top";
134  for (unsigned int i = 0; i < slopeT.size(); ++i)
135  edm::LogVerbatim("HGCalGeom") << "Block [" << i << "] Zmin " << zFront[i] << " Rmax " << rMaxFront[i] << " Slope "
136  << slopeT[i];
137 #endif
139 #ifdef EDM_ML_DEBUG
140  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: NameSpace " << idNameSpace;
141 #endif
142 }

References dbl_to_int(), mps_fire::i, createfilelist::int, hgcalTopologyTester_cfi::layers, names, DDCurrentNamespace::ns(), and volumeBasedMagneticField_160812_cfi::sectors.

◆ positionSensitive()

void DDHGCalModule::positionSensitive ( DDLogicalPart glog,
double  rin,
double  rout,
DDCompactView cpv 
)
protected

Definition at line 268 of file DDHGCalModule.cc.

268  {
269  double dx = 0.5 * waferW;
270  double dy = 3.0 * dx * tan(30._deg);
271  double rr = 2.0 * dx * tan(30._deg);
272  int ncol = (int)(2.0 * rout / waferW) + 1;
273  int nrow = (int)(rout / (waferW * tan(30._deg))) + 1;
274  int incm(0), inrm(0), kount(0), ntot(0), nin(0), nfine(0), ncoarse(0);
275 #ifdef EDM_ML_DEBUG
276  edm::LogVerbatim("HGCalGeom") << glog.ddname() << " rout " << rout << " Row " << nrow << " Column " << ncol;
277 #endif
278  for (int nr = -nrow; nr <= nrow; ++nr) {
279  int inr = (nr >= 0) ? nr : -nr;
280  for (int nc = -ncol; nc <= ncol; ++nc) {
281  int inc = (nc >= 0) ? nc : -nc;
282  if (inr % 2 == inc % 2) {
283  double xpos = nc * dx;
284  double ypos = nr * dy;
285  std::pair<int, int> corner = HGCalGeomTools::waferCorner(xpos, ypos, dx, rr, rin, rout, true);
286  ++ntot;
287  if (corner.first > 0) {
288  int copy = inr * 100 + inc;
289  if (nc < 0)
290  copy += 10000;
291  if (nr < 0)
292  copy += 100000;
293  if (inc > incm)
294  incm = inc;
295  if (inr > inrm)
296  inrm = inr;
297  kount++;
298  if (copies.count(copy) == 0)
299  copies.insert(copy);
300  if (corner.first == (int)(HGCalParameters::k_CornerSize)) {
301  double rpos = std::sqrt(xpos * xpos + ypos * ypos);
302  DDTranslation tran(xpos, ypos, 0.0);
304  ++nin;
305  DDName name = (rpos < rMaxFine) ? DDName(DDSplit(wafer[0]).first, DDSplit(wafer[0]).second)
306  : DDName(DDSplit(wafer[1]).first, DDSplit(wafer[1]).second);
307  cpv.position(name, glog.ddname(), copy, tran, rotation);
308  if (rpos < rMaxFine)
309  ++nfine;
310  else
311  ++ncoarse;
312 #ifdef EDM_ML_DEBUG
313  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: " << name << " number " << copy << " positioned in "
314  << glog.ddname() << " at " << tran << " with " << rotation;
315 #endif
316  }
317  }
318  }
319  }
320  }
321 #ifdef EDM_ML_DEBUG
322  edm::LogVerbatim("HGCalGeom") << "DDHGCalModule: # of columns " << incm << " # of rows " << inrm << " and " << nin
323  << ":" << kount << ":" << ntot << " wafers (" << nfine << ":" << ncoarse << ") for "
324  << glog.ddname() << " R " << rin << ":" << rout;
325 #endif
326 }

References filterCSVwithJSON::copy, distTCMET_cfi::corner, DDBase< N, C >::ddname(), DDSplit(), PVValHelper::dx, PVValHelper::dy, createfilelist::int, HGCalParameters::k_CornerSize, Skims_PA_cff::name, nin, EgHLTOffHistBins_cfi::nr, DDCompactView::position(), idealTransformation::rotation, findQualityFiles::rr, mathSSE::sqrt(), funct::tan(), and HGCalGeomTools::waferCorner().

◆ rMax()

double DDHGCalModule::rMax ( double  z)
protected

Definition at line 249 of file DDHGCalModule.cc.

249  {
250  double r(0);
251 #ifdef EDM_ML_DEBUG
252  unsigned int ik(0);
253 #endif
254  for (unsigned int k = 0; k < slopeT.size(); ++k) {
255  if (z < zFront[k])
256  break;
257  r = rMaxFront[k] + (z - zFront[k]) * slopeT[k];
258 #ifdef EDM_ML_DEBUG
259  ik = k;
260 #endif
261  }
262 #ifdef EDM_ML_DEBUG
263  edm::LogVerbatim("HGCalGeom") << "rMax : " << z << ":" << ik << ":" << r;
264 #endif
265  return r;
266 }

References dqmdumpme::k, and alignCSCRings::r.

Member Data Documentation

◆ copies

std::unordered_set<int> DDHGCalModule::copies
private

Definition at line 69 of file DDHGCalModule.cc.

◆ copyNumber

std::vector<int> DDHGCalModule::copyNumber
private

Definition at line 54 of file DDHGCalModule.cc.

◆ idName

std::string DDHGCalModule::idName
private

Definition at line 67 of file DDHGCalModule.cc.

◆ idNameSpace

std::string DDHGCalModule::idNameSpace
private

Definition at line 68 of file DDHGCalModule.cc.

◆ layers

std::vector<int> DDHGCalModule::layers
private

Definition at line 55 of file DDHGCalModule.cc.

◆ layerSense

std::vector<int> DDHGCalModule::layerSense
private

Definition at line 58 of file DDHGCalModule.cc.

◆ layerThick

std::vector<double> DDHGCalModule::layerThick
private

Definition at line 56 of file DDHGCalModule.cc.

◆ layerType

std::vector<int> DDHGCalModule::layerType
private

Definition at line 57 of file DDHGCalModule.cc.

◆ materials

std::vector<std::string> DDHGCalModule::materials
private

Definition at line 51 of file DDHGCalModule.cc.

◆ names

std::vector<std::string> DDHGCalModule::names
private

Definition at line 52 of file DDHGCalModule.cc.

◆ rMaxFine

double DDHGCalModule::rMaxFine
private

Definition at line 60 of file DDHGCalModule.cc.

◆ rMaxFront

std::vector<double> DDHGCalModule::rMaxFront
private

Definition at line 66 of file DDHGCalModule.cc.

◆ sectors

int DDHGCalModule::sectors
private

Definition at line 62 of file DDHGCalModule.cc.

◆ slopeB

std::vector<double> DDHGCalModule::slopeB
private

Definition at line 63 of file DDHGCalModule.cc.

◆ slopeT

std::vector<double> DDHGCalModule::slopeT
private

Definition at line 64 of file DDHGCalModule.cc.

◆ thick

std::vector<double> DDHGCalModule::thick
private

Definition at line 53 of file DDHGCalModule.cc.

◆ wafer

std::vector<std::string> DDHGCalModule::wafer
private

Definition at line 50 of file DDHGCalModule.cc.

◆ waferW

double DDHGCalModule::waferW
private

Definition at line 61 of file DDHGCalModule.cc.

◆ zFront

std::vector<double> DDHGCalModule::zFront
private

Definition at line 65 of file DDHGCalModule.cc.

◆ zMinBlock

double DDHGCalModule::zMinBlock
private

Definition at line 59 of file DDHGCalModule.cc.

HGCalGeomTools::waferCorner
static std::pair< int32_t, int32_t > waferCorner(double xpos, double ypos, double r, double R, double rMin, double rMax, bool oldBug=false)
Definition: HGCalGeomTools.cc:219
DDHGCalModule::zMinBlock
double zMinBlock
Definition: DDHGCalModule.cc:59
mps_fire.i
i
Definition: mps_fire.py:355
geometryCSVtoXML.zz
zz
Definition: geometryCSVtoXML.py:19
DDHGCalModule::layerSense
std::vector< int > layerSense
Definition: DDHGCalModule.cc:58
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
DDName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
findQualityFiles.rr
string rr
Definition: findQualityFiles.py:185
angle_units::operators::convertRadToDeg
constexpr NumType convertRadToDeg(NumType radians)
Definition: angle_units.h:21
DDHGCalModule::sectors
int sectors
Definition: DDHGCalModule.cc:62
DDHGCalModule::slopeB
std::vector< double > slopeB
Definition: DDHGCalModule.cc:63
HGCalParameters::k_CornerSize
static constexpr uint32_t k_CornerSize
Definition: HGCalParameters.h:38
distTCMET_cfi.corner
corner
Definition: distTCMET_cfi.py:38
nin
int nin
Definition: CascadeWrapper.h:114
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
dbl_to_int
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
Definition: DDutils.h:7
dqmdumpme.first
first
Definition: dqmdumpme.py:55
DDHGCalModule::zFront
std::vector< double > zFront
Definition: DDHGCalModule.cc:65
DDHGCalModule::slopeT
std::vector< double > slopeT
Definition: DDHGCalModule.cc:64
DDHGCalModule::thick
std::vector< double > thick
Definition: DDHGCalModule.cc:53
DDHGCalModule::waferW
double waferW
Definition: DDHGCalModule.cc:61
DDMaterial
DDMaterial is used to define and access material information.
Definition: DDMaterial.h:45
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
DDHGCalModule::constructLayers
void constructLayers(const DDLogicalPart &, DDCompactView &cpv)
Definition: DDHGCalModule.cc:166
DDSolidFactory::polyhedra
static DDSolid polyhedra(const DDName &name, int sides, double startPhi, double deltaPhi, const std::vector< double > &z, const std::vector< double > &rmin, const std::vector< double > &rmax)
Creates a polyhedra (refere to Geant3 or Geant4 documentation)
Definition: DDSolid.cc:551
DDTranslation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DDHGCalModule::layerThick
std::vector< double > layerThick
Definition: DDHGCalModule.cc:56
DDBase::name
const N & name() const
Definition: DDBase.h:59
DDAxes::z
DDSolidFactory::tubs
static DDSolid tubs(const DDName &name, double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
Definition: DDSolid.cc:653
dqmdumpme.k
k
Definition: dqmdumpme.py:60
DDHGCalModule::rMax
double rMax(double z)
Definition: DDHGCalModule.cc:249
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::LogWarning
Definition: MessageLogger.h:141
angle_units::piRadians
constexpr long double piRadians(M_PIl)
DDHGCalModule::idNameSpace
std::string idNameSpace
Definition: DDHGCalModule.cc:68
DDHGCalModule::names
std::vector< std::string > names
Definition: DDHGCalModule.cc:52
idealTransformation.rotation
dictionary rotation
Definition: idealTransformation.py:1
edm::LogError
Definition: MessageLogger.h:183
EgHLTOffHistBins_cfi.nr
nr
Definition: EgHLTOffHistBins_cfi.py:4
DDBase::ddname
const N & ddname() const
Definition: DDBase.h:61
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
DDHGCalModule::copies
std::unordered_set< int > copies
Definition: DDHGCalModule.cc:69
createfilelist.int
int
Definition: createfilelist.py:10
edm::LogVerbatim
Definition: MessageLogger.h:297
DDHGCalModule::wafer
std::vector< std::string > wafer
Definition: DDHGCalModule.cc:50
PVValHelper::dy
Definition: PVValidationHelpers.h:49
DDHGCalModule::layers
std::vector< int > layers
Definition: DDHGCalModule.cc:55
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:28
module
Definition: vlib.h:198
alignCSCRings.r
r
Definition: alignCSCRings.py:93
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
DDCurrentNamespace::ns
static std::string & ns()
Definition: DDCurrentNamespace.cc:3
DDHGCalModule::rMaxFront
std::vector< double > rMaxFront
Definition: DDHGCalModule.cc:66
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
DDSolid
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
DDRotation
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
DDHGCalModule::materials
std::vector< std::string > materials
Definition: DDHGCalModule.cc:51
DDHGCalModule::positionSensitive
void positionSensitive(DDLogicalPart &glog, double rin, double rout, DDCompactView &cpv)
Definition: DDHGCalModule.cc:268
DDHGCalModule::copyNumber
std::vector< int > copyNumber
Definition: DDHGCalModule.cc:54
DDHGCalModule::layerType
std::vector< int > layerType
Definition: DDHGCalModule.cc:57
class-composition.parent
parent
Definition: class-composition.py:88
cuy.ii
ii
Definition: cuy.py:590
PVValHelper::dx
Definition: PVValidationHelpers.h:48
DDHGCalModule::rMaxFine
double rMaxFine
Definition: DDHGCalModule.cc:60
DDSplit
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
Definition: DDSplit.cc:3
DDCompactView::position
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string &copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
Definition: DDCompactView.cc:66