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, plotBeamSpotDB::first, fullHeight, hybridHeight, hybridName, hybridZ, relval_2017::k, kaptonName, kaptonRot, kaptonZ, LogDebug, DDName::name(), mergeVDriftHistosByStation::name, 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  ypos = waferZ[k];
283  double zWafer;
284  if (dlHybrid > dlTop) {
285  zWafer = botfr+0.5*fullHeight;
286  } else {
287  zWafer = boxFrameHeight+botfr+pitchHeight+0.5*fullHeight;
288  }
289  zpos = zWafer - zCenter;
290  DDTranslation tran(xpos, ypos, zpos);
291  std::string rotstr = DDSplit(waferRot[k]).first;
292  std::string rotns;
293  if (rotstr != "NULL") {
294  rotns = DDSplit(waferRot[k]).second;
295  rot = DDRotation(DDName(rotstr, rotns));
296  }
297  cpv.position(name, parentName, k+1, tran, rot);
298  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
299  << k+1 << " positioned in " << parentName << " at "
300  << tran << " with " << rot;
301 
302  //Pitch Adapter
303  name = DDName(DDSplit(pitchName[k]).first, DDSplit(pitchName[k]).second);
304  if (k == 0) {
305  xpos = 0;
306  } else {
307  xpos = 0.5 * fullHeight * sin(detTilt);
308  }
309  ypos = pitchZ[k];
310  double zPitch;
311  if (dlHybrid > dlTop) {
312  zPitch = botfr+fullHeight+0.5*pitchHeight;
313  } else {
314  zPitch = boxFrameHeight+botfr+0.5*pitchHeight;
315  }
316  zpos = zPitch - zCenter;
317  rotstr = DDSplit(pitchRot[k]).first;
318  if (rotstr != "NULL") {
319  rotns = DDSplit(pitchRot[k]).second;
320  rot = DDRotation(DDName(rotstr, rotns));
321  } else {
322  rot = DDRotation();
323  }
324  tran = DDTranslation(xpos,ypos,zpos);
325  cpv.position(name, parentName, k+1, tran, rot);
326  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
327  << k+1 << " positioned in " << parentName << " at "
328  << tran << " with " << rot;
329 
330  // Hybrid
332  ypos = hybridZ[k];
333  double zHybrid;
334  if (dlHybrid > dlTop) {
335  zHybrid = botfr+fullHeight+pitchHeight+0.5*hybridHeight;
336  } else {
337  zHybrid = 0.5*hybridHeight;
338  }
339  zpos = zHybrid - zCenter;
340  tran = DDTranslation(0,ypos,zpos);
341  rot = DDRotation();
342  cpv.position(name, parentName, k+1, tran, rot);
343  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
344  << k+1 << " positioned in " << parentName << " at "
345  << tran << " with " << rot;
346 
347 
348  // Box frame
350  ypos = boxFrameZ[k];
351  double zBoxFrame;
352  if (dlHybrid > dlTop) {
353  zBoxFrame = sideFrameHeight+0.5*boxFrameHeight;
354  } else {
355  zBoxFrame = 0.5*boxFrameHeight;
356  }
357  zpos = zBoxFrame - zCenter;
358  tran = DDTranslation(0,ypos,zpos);
359  rot = DDRotation();
360  cpv.position(name, parentName, k+1, tran, rot);
361  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
362  << k+1 << " positioned in " << parentName << " at "
363  << tran << " with " << rot;
364 
365  // Side frame
366  name = DDName(DDSplit(sideFrameName[k]).first,
368  ypos = sideFrameZ[k];
369  double zSideFrame;
370  if (dlHybrid > dlTop) {
371  zSideFrame = 0.5*sideFrameHeight;
372  } else {
373  zSideFrame = boxFrameHeight+0.5*sideFrameHeight;
374  }
375  zpos = zSideFrame-zCenter;
376  rotstr = DDSplit(sideFrameRot[k]).first;
377  if (rotstr != "NULL") {
378  rotns = DDSplit(sideFrameRot[k]).second;
379  rot = DDRotation(DDName(rotstr, rotns));
380  } else {
381  rot = DDRotation();
382  }
383  tran = DDTranslation(0,ypos,zpos);
384  cpv.position(name, parentName, k+1, tran, rot);
385  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
386  << k+1 << " positioned in " << parentName << " at "
387  << tran << " with " << rot;
388 
389 
390  // Kapton circuit
391  name = DDName(DDSplit(kaptonName[k]).first, DDSplit(kaptonName[k]).second);
392  ypos = kaptonZ[k];
393  double zKapton;
394  double kaptonExtraHeight=0;
395  if (dlHybrid > dlTop) {
396  if ( k == 1 ) kaptonExtraHeight = dlTop*sin(detTilt)-fullHeight*(1-cos(detTilt));
397  kaptonExtraHeight = 0.5*fabs(kaptonExtraHeight);
398  zKapton = 0.5*(kaptonHeight+kaptonExtraHeight);
399  } else {
400  if ( k == 1 ) kaptonExtraHeight = dlBottom*sin(detTilt)-fullHeight*(1-cos(detTilt));
401  kaptonExtraHeight = 0.5*fabs(kaptonExtraHeight);
402  zKapton = boxFrameHeight+sideFrameHeight-0.5*(kaptonHeight+kaptonExtraHeight);
403  }
404  zpos = zKapton-zCenter;
405  rotstr = DDSplit(kaptonRot[k]).first;
406  if (rotstr != "NULL") {
407  rotns = DDSplit(kaptonRot[k]).second;
408  rot = DDRotation(DDName(rotstr, rotns));
409  } else {
410  rot = DDRotation();
411  }
412  tran = DDTranslation(0,ypos,zpos);
413  cpv.position(name, parentName, k+1, tran, rot);
414  LogDebug("TIDGeom") << "DDTIDModulePosAlgo test: " << name <<" number "
415  << k+1 << " positioned in " << parentName << " at "
416  << tran << " with " << rot;
417  }
418 
419  LogDebug("TIDGeom") << "<<== End of DDTIDModulePosAlgo positioning ...";
420 }
#define LogDebug(id)
std::vector< double > pitchZ
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:14
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
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
const std::string & name() const
Returns the name.
Definition: DDName.cc:87
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, DDName::name(), 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
std::vector< std::string > pitchName
std::string botSpacersName
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:14
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
const std::string & name() const
Returns the name.
Definition: DDName.cc:87

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().