CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
DDTIDModulePosAlgo Class Reference

#include <DDTIDModulePosAlgo.h>

Inheritance diagram for DDTIDModulePosAlgo:

Public Member Functions

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

Private Attributes

double botSpacersHeight
 
std::string botSpacersName
 
double botSpacersZ
 
double bottomFrameHeight
 
double bottomFrameOver
 
double boxFrameHeight
 
std::string boxFrameName
 
double boxFrameWidth
 
std::vector< double > boxFrameZ
 
double coolHeight
 
std::string coolName
 
std::vector< double > coolRadShift
 
double coolWidth
 
double coolZ
 
int detectorN
 
double detTilt
 
double dlBottom
 
double dlHybrid
 
double dlTop
 
bool doSpacers
 
double fullHeight
 
double hybridHeight
 
std::string hybridName
 
std::vector< double > hybridZ
 
std::vector< std::string > kaptonName
 
std::vector< std::string > kaptonRot
 
std::vector< double > kaptonZ
 
double pitchHeight
 
std::vector< std::string > pitchName
 
std::vector< std::string > pitchRot
 
std::vector< double > pitchZ
 
std::vector< std::string > sideFrameName
 
double sideFrameOver
 
std::vector< std::string > sideFrameRot
 
double sideFrameWidth
 
std::vector< double > sideFrameZ
 
double sidSpacersHeight
 
std::string sidSpacersName
 
double sidSpacersRadShift
 
double sidSpacersWidth
 
double sidSpacersZ
 
double topFrameHeight
 
double topFrameOver
 
std::vector< std::string > waferName
 
std::vector< std::string > waferRot
 
std::vector< double > waferZ
 

Detailed Description

Definition at line 10 of file DDTIDModulePosAlgo.h.

Constructor & Destructor Documentation

DDTIDModulePosAlgo::DDTIDModulePosAlgo ( )

Definition at line 18 of file DDTIDModulePosAlgo.cc.

References LogDebug.

18  {
19  LogDebug("TIDGeom") << "DDTIDModulePosAlgo info: Creating an instance";
20 }
#define LogDebug(id)
DDTIDModulePosAlgo::~DDTIDModulePosAlgo ( )
virtual

Definition at line 22 of file DDTIDModulePosAlgo.cc.

22 {}

Member Function Documentation

void DDTIDModulePosAlgo::execute ( DDCompactView cpv)

Definition at line 129 of file DDTIDModulePosAlgo.cc.

References botSpacersHeight, botSpacersName, botSpacersZ, bottomFrameHeight, bottomFrameOver, boxFrameHeight, boxFrameName, boxFrameWidth, boxFrameZ, coolHeight, coolName, coolRadShift, coolWidth, coolZ, filterCSVwithJSON::copy, funct::cos(), dbl_to_string(), DDrot(), DDSplit(), detectorN, detTilt, dlBottom, dlHybrid, dlTop, doSpacers, first, fullHeight, hybridHeight, hybridName, hybridZ, roll_playback::k, kaptonName, kaptonRot, kaptonZ, LogDebug, mergeVDriftHistosByStation::name, dbtoconf::parent, pitchHeight, pitchName, pitchRot, pitchZ, DDCompactView::position(), makeMuonMisalignmentScenario::rot, edm::second(), sideFrameName, sideFrameOver, sideFrameRot, sideFrameWidth, sideFrameZ, sidSpacersHeight, sidSpacersName, sidSpacersRadShift, sidSpacersWidth, sidSpacersZ, funct::sin(), AlCaHLTBitMon_QueryRunRegistry::string, topFrameHeight, topFrameOver, waferName, waferRot, and waferZ.

129  {
130 
131  LogDebug("TIDGeom") << "==>> Constructing DDTIDModulePosAlgo...";
132 
133  DDName parentName = parent().name();
134  DDName name;
135 
136  double botfr; // width of side frame at the the bottom of the modules
137  double topfr; // width of side frame at the the top of the modules
138  double kaptonHeight;
139  if (dlHybrid > dlTop) {
140  // ring 1, ring 2
143  kaptonHeight = fullHeight + botfr;
144  } else {
145  // ring 3
146  topfr = topFrameHeight - topFrameOver;
148  kaptonHeight = fullHeight + topfr;
149  }
150 
151  double sideFrameHeight = fullHeight + pitchHeight + botfr + topfr;
152  double zCenter = 0.5 * (sideFrameHeight+boxFrameHeight);
153 
154 
155  // (Re) Compute the envelope for positioning Cool Inserts and Side Spacers (Alumina).
156  double sidfr = sideFrameWidth - sideFrameOver; // width of side frame on the sides of module
157  double dxbot = 0.5*dlBottom + sidfr;
158  double dxtop = 0.5*dlTop + sidfr;
159  double dxtopenv, dxbotenv; // top/bot width of the module envelope trap
160 
161  double tanWafer=(dxtop-dxbot)/fullHeight; //
162  double thetaWafer = atan(tanWafer); // 1/2 of the wafer wedge angle
163 
164  if (dlHybrid > dlTop) {
165  // ring 1, ring 2
166  dxtopenv = dxbot + (dxtop-dxbot)*(fullHeight+pitchHeight+topfr+hybridHeight)/fullHeight;
167  dxbotenv = dxtop - (dxtop-dxbot)*(fullHeight+botfr)/fullHeight;
168  } else {
169  // ring 3
170  dxtopenv = dxbot + (dxtop-dxbot)*(fullHeight+topfr)/fullHeight;
171  dxbotenv = dxbot;
172  }
173 
174  double tanEnv=(dxtopenv-dxbotenv)/(sideFrameHeight+boxFrameHeight); // 1/2 of the envelope wedge angle
175 
176  double xpos=0; double ypos=0; double zpos=0;
177 
178  // Cool Inserts
180  ypos = coolZ;
181 
182  double zCool;
183  int copy=0;
184  DDRotation rot = DDRotation(); // should be different for different elements
185 
186  for (int j1=0; j1<2; j1++){ // j1: 0 inserts below the hybrid
187  // 1 inserts below the wafer
188  if (dlHybrid > dlTop) {
189  zCool = sideFrameHeight+boxFrameHeight-coolRadShift[j1];
190  if ( j1==0 ) zCool -= 0.5*coolHeight;
191  } else {
192  zCool = coolRadShift[j1];
193  if ( j1==0 ) zCool += 0.5*coolHeight;
194  }
195 
196  if ( j1==0 ) {
197  xpos = -0.5*(boxFrameWidth-coolWidth);
198  } else {
199  xpos = -(dxbotenv+(zCool-0.5*coolHeight)*tanEnv-0.5*coolWidth);
200  }
201 
202  zpos = zCool-zCenter;
203  for ( int j2=0; j2<2; j2++) {
204  copy++;
205  cpv.position(name, parentName, copy, DDTranslation(xpos,ypos,zpos), rot);
206  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
207  << copy << " positioned in " << parentName << " at "
208  << DDTranslation(xpos,ypos,zpos) << " with " << rot;
209  xpos = -xpos;
210  }
211  }
212 
213 
214  if ( doSpacers ) {
215  // Bottom Spacers (Alumina)
217  ypos = botSpacersZ;
218 
219  double zBotSpacers;
220  if (dlHybrid > dlTop) {
221  zBotSpacers = sideFrameHeight+boxFrameHeight-0.5*botSpacersHeight;
222  } else {
223  zBotSpacers = 0.5*botSpacersHeight;
224  }
225  zpos = zBotSpacers - zCenter;
226  rot = DDRotation();
227  cpv.position(name, parentName, 1, DDTranslation(0.0,ypos,zpos), rot );
228  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
229  << 1 << " positioned in " << parentName << " at "
230  << DDTranslation(0.0,ypos,zpos) << " with no rotation";
231 
232 
233  // Side Spacers (Alumina)
234  name = DDName(DDSplit(sidSpacersName).first,
236  ypos = sidSpacersZ;
237 
238  double zSideSpacers;
239  if (dlHybrid > dlTop) {
240  zSideSpacers = sideFrameHeight+boxFrameHeight-sidSpacersRadShift;
241  } else {
242  zSideSpacers = sidSpacersRadShift;
243  }
244  zpos = zSideSpacers - zCenter;
245 
246  copy=0;
247  xpos = dxbotenv+(zSideSpacers-0.5*sidSpacersHeight)*tanEnv-0.5*sidSpacersWidth+sideFrameOver;
248 
249  double phix, phiy, phiz;
250  phix=0.*CLHEP::deg; phiy=90.*CLHEP::deg; phiz=0.*CLHEP::deg;
251 
252  double thetay, thetax;
253  thetay=90.*CLHEP::deg;
254  double thetaz = thetaWafer;
255 
256  for (int j1=0; j1<2; j1++){
257  copy++;
258 
259  // tilt Side Spacers (parallel to Side Frame)
260  thetax = 90.*CLHEP::deg+thetaz;
261  double thetadeg = thetax/CLHEP::deg;
262  if (thetadeg != 0) {
263  std::string arotstr = DDSplit(sidSpacersName).first+dbl_to_string(thetadeg*10.);
264  rot = DDrot(DDName(arotstr, DDSplit(sidSpacersName).second), thetax,
265  phix, thetay, phiy, thetaz, phiz);
266  }
267 
268  cpv.position(name, parentName, copy, DDTranslation(xpos,ypos,zpos), rot);
269  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
270  << copy << " positioned in " << parentName << " at "
271  << DDTranslation(xpos,ypos,zpos) << " with " << rot;
272  xpos = -xpos;
273  thetaz = -thetaz;
274  }
275  }
276 
277  // Loop over detectors to be placed
278  for (int k = 0; k < detectorN; k++) {
279  // Wafer
280  name = DDName(DDSplit(waferName[k]).first, DDSplit(waferName[k]).second);
281  xpos=0;
282  zpos=0;
283  ypos = waferZ[k];
284  double zWafer;
285  if (dlHybrid > dlTop) {
286  zWafer = botfr+0.5*fullHeight;
287  } else {
288  zWafer = boxFrameHeight+botfr+pitchHeight+0.5*fullHeight;
289  }
290  zpos = zWafer - zCenter;
291  DDTranslation tran(xpos, ypos, zpos);
292  std::string rotstr = DDSplit(waferRot[k]).first;
293  std::string rotns;
294  if (rotstr != "NULL") {
295  rotns = DDSplit(waferRot[k]).second;
296  rot = DDRotation(DDName(rotstr, rotns));
297  }
298  cpv.position(name, parentName, k+1, tran, rot);
299  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
300  << k+1 << " positioned in " << parentName << " at "
301  << tran << " with " << rot;
302 
303  //Pitch Adapter
304  name = DDName(DDSplit(pitchName[k]).first, DDSplit(pitchName[k]).second);
305  if (k == 0) {
306  xpos = 0;
307  } else {
308  xpos = 0.5 * fullHeight * sin(detTilt);
309  }
310  ypos = pitchZ[k];
311  double zPitch;
312  if (dlHybrid > dlTop) {
313  zPitch = botfr+fullHeight+0.5*pitchHeight;
314  } else {
315  zPitch = boxFrameHeight+botfr+0.5*pitchHeight;
316  }
317  zpos = zPitch - zCenter;
318  rotstr = DDSplit(pitchRot[k]).first;
319  if (rotstr != "NULL") {
320  rotns = DDSplit(pitchRot[k]).second;
321  rot = DDRotation(DDName(rotstr, rotns));
322  } else {
323  rot = DDRotation();
324  }
325  tran = DDTranslation(xpos,ypos,zpos);
326  cpv.position(name, parentName, k+1, tran, rot);
327  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
328  << k+1 << " positioned in " << parentName << " at "
329  << tran << " with " << rot;
330 
331  // Hybrid
333  ypos = hybridZ[k];
334  double zHybrid;
335  if (dlHybrid > dlTop) {
336  zHybrid = botfr+fullHeight+pitchHeight+0.5*hybridHeight;
337  } else {
338  zHybrid = 0.5*hybridHeight;
339  }
340  zpos = zHybrid - zCenter;
341  tran = DDTranslation(0,ypos,zpos);
342  rot = DDRotation();
343  cpv.position(name, parentName, k+1, tran, rot);
344  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
345  << k+1 << " positioned in " << parentName << " at "
346  << tran << " with " << rot;
347 
348 
349  // Box frame
351  ypos = boxFrameZ[k];
352  double zBoxFrame;
353  if (dlHybrid > dlTop) {
354  zBoxFrame = sideFrameHeight+0.5*boxFrameHeight;
355  } else {
356  zBoxFrame = 0.5*boxFrameHeight;
357  }
358  zpos = zBoxFrame - zCenter;
359  tran = DDTranslation(0,ypos,zpos);
360  rot = DDRotation();
361  cpv.position(name, parentName, k+1, tran, rot);
362  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
363  << k+1 << " positioned in " << parentName << " at "
364  << tran << " with " << rot;
365 
366  // Side frame
367  name = DDName(DDSplit(sideFrameName[k]).first,
369  ypos = sideFrameZ[k];
370  double zSideFrame;
371  if (dlHybrid > dlTop) {
372  zSideFrame = 0.5*sideFrameHeight;
373  } else {
374  zSideFrame = boxFrameHeight+0.5*sideFrameHeight;
375  }
376  zpos = zSideFrame-zCenter;
377  rotstr = DDSplit(sideFrameRot[k]).first;
378  if (rotstr != "NULL") {
379  rotns = DDSplit(sideFrameRot[k]).second;
380  rot = DDRotation(DDName(rotstr, rotns));
381  } else {
382  rot = DDRotation();
383  }
384  tran = DDTranslation(0,ypos,zpos);
385  cpv.position(name, parentName, k+1, tran, rot);
386  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
387  << k+1 << " positioned in " << parentName << " at "
388  << tran << " with " << rot;
389 
390 
391  // Kapton circuit
392  name = DDName(DDSplit(kaptonName[k]).first, DDSplit(kaptonName[k]).second);
393  ypos = kaptonZ[k];
394  double zKapton;
395  double kaptonExtraHeight=0;
396  if (dlHybrid > dlTop) {
397  if ( k == 1 ) kaptonExtraHeight = dlTop*sin(detTilt)-fullHeight*(1-cos(detTilt));
398  kaptonExtraHeight = 0.5*fabs(kaptonExtraHeight);
399  zKapton = 0.5*(kaptonHeight+kaptonExtraHeight);
400  } else {
401  if ( k == 1 ) kaptonExtraHeight = dlBottom*sin(detTilt)-fullHeight*(1-cos(detTilt));
402  kaptonExtraHeight = 0.5*fabs(kaptonExtraHeight);
403  zKapton = boxFrameHeight+sideFrameHeight-0.5*(kaptonHeight+kaptonExtraHeight);
404  }
405  zpos = zKapton-zCenter;
406  rotstr = DDSplit(kaptonRot[k]).first;
407  if (rotstr != "NULL") {
408  rotns = DDSplit(kaptonRot[k]).second;
409  rot = DDRotation(DDName(rotstr, rotns));
410  } else {
411  rot = DDRotation();
412  }
413  tran = DDTranslation(0,ypos,zpos);
414  cpv.position(name, parentName, k+1, tran, rot);
415  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
416  << k+1 << " positioned in " << parentName << " at "
417  << tran << " with " << rot;
418  }
419 
420  LogDebug("TIDGeom") << "<<== End of DDTIDModulePosAlgo positioning ...";
421 }
#define LogDebug(id)
std::vector< double > pitchZ
list parent
Definition: dbtoconf.py:74
std::vector< std::string > pitchName
std::string botSpacersName
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
void position(const DDLogicalPart &self, const DDLogicalPart &parent, std::string copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=NULL)
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
std::string sidSpacersName
std::string dbl_to_string(const double &in)
Converts only the integer part of a double to a string.
Definition: DDutils.cc:12
std::vector< std::string > sideFrameName
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:66
U second(std::pair< T, U > const &p)
std::vector< double > coolRadShift
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
std::vector< std::string > waferRot
std::vector< double > hybridZ
std::vector< std::string > waferName
bool first
Definition: L1TdeRCT.cc:75
DDRotation DDrot(const DDName &name, DDRotationMatrix *rot)
Definition of a uniquely identifiable rotation matrix named by DDName name.
Definition: DDRotation.cc:90
std::vector< std::string > pitchRot
std::vector< std::string > sideFrameRot
std::vector< double > sideFrameZ
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = &#39;:&#39;
Definition: DDSplit.cc:4
std::vector< std::string > kaptonRot
std::vector< double > waferZ
std::vector< double > kaptonZ
std::vector< std::string > kaptonName
std::vector< double > boxFrameZ
void DDTIDModulePosAlgo::initialize ( const DDNumericArguments nArgs,
const DDVectorArguments vArgs,
const DDMapArguments mArgs,
const DDStringArguments sArgs,
const DDStringVectorArguments vsArgs 
)

Definition at line 24 of file DDTIDModulePosAlgo.cc.

References botSpacersHeight, botSpacersName, botSpacersZ, bottomFrameHeight, bottomFrameOver, boxFrameHeight, boxFrameName, boxFrameWidth, boxFrameZ, AlCaHLTBitMon_QueryRunRegistry::comp, coolHeight, coolName, coolRadShift, coolWidth, coolZ, detectorN, detTilt, dlBottom, dlHybrid, dlTop, doSpacers, fullHeight, hybridHeight, hybridName, hybridZ, i, kaptonName, kaptonRot, kaptonZ, LogDebug, dbtoconf::parent, pitchHeight, pitchName, pitchRot, pitchZ, sideFrameName, sideFrameOver, sideFrameRot, sideFrameWidth, sideFrameZ, sidSpacersHeight, sidSpacersName, sidSpacersRadShift, sidSpacersWidth, sidSpacersZ, AlCaHLTBitMon_QueryRunRegistry::string, topFrameHeight, topFrameOver, waferName, waferRot, and waferZ.

28  {
29 
30  int i;
31  DDName parentName = parent().name();
32  detectorN = (int)(nArgs["DetectorNumber"]);
33 
34  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: Parent " << parentName
35  << " Detector Planes " << detectorN;
36 
37  detTilt = nArgs["DetTilt"];
38  fullHeight = nArgs["FullHeight"];
39  dlTop = nArgs["DlTop"];
40  dlBottom = nArgs["DlBottom"];
41  dlHybrid = nArgs["DlHybrid"];
42 
43  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: Detector Tilt "
44  << detTilt/CLHEP::deg << " Height " << fullHeight
45  << " dl(Top) " << dlTop << " dl(Bottom) " << dlBottom
46  << " dl(Hybrid) " << dlHybrid;
47 
48  boxFrameName = sArgs["BoxFrameName"];
49  boxFrameHeight = nArgs["BoxFrameHeight"];
50  boxFrameWidth = nArgs["BoxFrameWidth"];
51  boxFrameZ = vArgs["BoxFrameZ"];
52  bottomFrameHeight = nArgs["BottomFrameHeight"];
53  bottomFrameOver = nArgs["BottomFrameOver"];
54  topFrameHeight = nArgs["TopFrameHeight"];
55  topFrameOver = nArgs["TopFrameOver"];
56  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: " << boxFrameName
57  << " positioned at Z";
58  for (i = 0; i < detectorN; i++)
59  LogDebug("TIDGeom") << "\tboxFrameZ[" << i << "] = " << boxFrameZ[i];
60  LogDebug("TIDGeom") << "\t Extra Height at Bottom " << bottomFrameHeight
61  << " Overlap " <<bottomFrameOver;
62 
63  sideFrameName = vsArgs["SideFrameName"];
64  sideFrameZ = vArgs["SideFrameZ"];
65  sideFrameRot =vsArgs["SideFrameRotation"];
66  sideFrameWidth = nArgs["SideFrameWidth"];
67  sideFrameOver = nArgs["SideFrameOver"];
68  for (i = 0; i < detectorN; i++)
69  LogDebug("TIDGeom") << "\tsideFrame[" << i << "] = " << sideFrameName[i]
70  << " positioned at Z "<< sideFrameZ[i]
71  << " with rotation " << sideFrameRot[i];
72 
73  kaptonName = vsArgs["KaptonName"];
74  kaptonZ = vArgs["KaptonZ"];
75  kaptonRot =vsArgs["KaptonRotation"];
76  for (i = 0; i < detectorN; i++)
77  LogDebug("TIDGeom") << "\tkapton[" << i << "] = " << kaptonName[i]
78  << " positioned at Z "<< kaptonZ[i]
79  << " with rotation " << kaptonRot[i];
80 
81  waferName =vsArgs["WaferName"];
82  waferZ = vArgs["WaferZ"];
83  waferRot =vsArgs["WaferRotation"];
84  for (i = 0; i < detectorN; i++)
85  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: " << waferName[i]
86  << " positioned at Z " << waferZ[i]
87  << " with rotation " << waferRot[i];
88 
89  hybridName = sArgs["HybridName"];
90  hybridHeight = nArgs["HybridHeight"];
91  hybridZ = vArgs["HybridZ"];
92  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: " << hybridName
93  << " Height " << hybridHeight << " Z";
94  for (i = 0; i < detectorN; i++)
95  LogDebug("TIDGeom") << "\thybridZ[" << i <<"] = " << hybridZ[i];
96 
97  pitchName =vsArgs["PitchName"];
98  pitchHeight = nArgs["PitchHeight"];
99  pitchZ = vArgs["PitchZ"];
100  pitchRot =vsArgs["PitchRotation"];
101  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: Pitch Adapter Height "
102  << pitchHeight;
103  for (i = 0; i < detectorN; i++)
104  LogDebug("TIDGeom") << "DDTIDModulePosAlgo debug: " << pitchName[i]
105  << " position at Z " << pitchZ[i]
106  << " with rotation " << pitchRot[i];
107 
108  coolName = sArgs["CoolInsertName"];
109  coolHeight = nArgs["CoolInsertHeight"];
110  coolZ = nArgs["CoolInsertZ"];
111  coolWidth = nArgs["CoolInsertWidth"];
112  coolRadShift = vArgs["CoolInsertShift"];
113 
114  std::string comp = sArgs["DoSpacers"];
115  if (comp == "No" || comp == "NO" || comp == "no") doSpacers = false;
116  else doSpacers = true;
117 
118  botSpacersName = sArgs["BottomSpacersName"];
119  botSpacersHeight = nArgs["BottomSpacersHeight"];
120  botSpacersZ = nArgs["BottomSpacersZ"];
121  sidSpacersName = sArgs["SideSpacersName"];
122  sidSpacersHeight = nArgs["SideSpacersHeight"];
123  sidSpacersZ = nArgs["SideSpacersZ"];
124  sidSpacersWidth = nArgs["SideSpacersWidth"];
125  sidSpacersRadShift = nArgs["SideSpacersShift"];
126 
127 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
std::vector< double > pitchZ
list parent
Definition: dbtoconf.py:74
std::vector< std::string > pitchName
std::string botSpacersName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:18
std::string sidSpacersName
std::vector< std::string > sideFrameName
std::vector< double > coolRadShift
std::vector< std::string > waferRot
std::vector< double > hybridZ
std::vector< std::string > waferName
std::vector< std::string > pitchRot
std::vector< std::string > sideFrameRot
std::vector< double > sideFrameZ
std::vector< std::string > kaptonRot
std::vector< double > waferZ
std::vector< double > kaptonZ
std::vector< std::string > kaptonName
std::vector< double > boxFrameZ

Member Data Documentation

double DDTIDModulePosAlgo::botSpacersHeight
private

Definition at line 68 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::string DDTIDModulePosAlgo::botSpacersName
private

Definition at line 67 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::botSpacersZ
private

Definition at line 69 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::bottomFrameHeight
private

Definition at line 35 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::bottomFrameOver
private

Definition at line 36 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::boxFrameHeight
private

Definition at line 29 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::string DDTIDModulePosAlgo::boxFrameName
private

Definition at line 28 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::boxFrameWidth
private

Definition at line 30 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::boxFrameZ
private

Definition at line 34 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::coolHeight
private

Definition at line 60 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::string DDTIDModulePosAlgo::coolName
private

Definition at line 59 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::coolRadShift
private

Definition at line 63 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::coolWidth
private

Definition at line 62 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::coolZ
private

Definition at line 61 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

int DDTIDModulePosAlgo::detectorN
private

Definition at line 25 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::detTilt
private

Definition at line 26 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::dlBottom
private

Definition at line 32 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::dlHybrid
private

Definition at line 33 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::dlTop
private

Definition at line 31 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

bool DDTIDModulePosAlgo::doSpacers
private

Definition at line 66 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::fullHeight
private

Definition at line 27 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::hybridHeight
private

Definition at line 53 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::string DDTIDModulePosAlgo::hybridName
private

Definition at line 52 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::hybridZ
private

Definition at line 54 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::kaptonName
private

Definition at line 46 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::kaptonRot
private

Definition at line 48 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::kaptonZ
private

Definition at line 47 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::pitchHeight
private

Definition at line 56 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::pitchName
private

Definition at line 55 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::pitchRot
private

Definition at line 58 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::pitchZ
private

Definition at line 57 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::sideFrameName
private

Definition at line 40 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::sideFrameOver
private

Definition at line 44 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::sideFrameRot
private

Definition at line 42 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::sideFrameWidth
private

Definition at line 43 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::sideFrameZ
private

Definition at line 41 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::sidSpacersHeight
private

Definition at line 71 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::string DDTIDModulePosAlgo::sidSpacersName
private

Definition at line 70 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::sidSpacersRadShift
private

Definition at line 74 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::sidSpacersWidth
private

Definition at line 73 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::sidSpacersZ
private

Definition at line 72 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::topFrameHeight
private

Definition at line 37 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

double DDTIDModulePosAlgo::topFrameOver
private

Definition at line 38 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::waferName
private

Definition at line 49 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<std::string> DDTIDModulePosAlgo::waferRot
private

Definition at line 51 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().

std::vector<double> DDTIDModulePosAlgo::waferZ
private

Definition at line 50 of file DDTIDModulePosAlgo.h.

Referenced by execute(), and initialize().