CMS 3D CMS Logo

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

Public Member Functions

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

Private Attributes

vector< double > aohCopies
 
string aohName
 
vector< double > aohX
 
vector< double > aohY
 
vector< double > aohZ
 
string cable
 
double cableZ
 
string central
 
string clamp
 
vector< double > clampX
 
vector< double > clampZ
 
vector< string > connect
 
vector< double > connectY
 
vector< double > connectZ
 
string endCool
 
string endCoolRot
 
double endCoolY
 
double endCoolZ
 
string endRod1
 
vector< double > endRod1Y
 
vector< double > endRod1Z
 
string endRod2
 
double endRod2Y
 
double endRod2Z
 
string idNameSpace
 
string module
 
vector< string > moduleRot
 
vector< double > moduleY
 
vector< double > moduleZ
 
string optFibre
 
vector< double > optFibreX
 
vector< double > optFibreZ
 
double shift
 
string sideClamp1
 
vector< double > sideClamp1DZ
 
string sideClamp2
 
vector< double > sideClamp2DZ
 
vector< double > sideClampX
 
string sideCool
 
vector< double > sideCoolX
 
vector< double > sideCoolY
 
vector< double > sideCoolZ
 
vector< string > sideRod
 
vector< double > sideRodX
 
vector< double > sideRodY
 
vector< double > sideRodZ
 

Detailed Description

Definition at line 18 of file DDTOBRodAlgo.cc.

Constructor & Destructor Documentation

◆ DDTOBRodAlgo()

DDTOBRodAlgo::DDTOBRodAlgo ( )

Definition at line 88 of file DDTOBRodAlgo.cc.

References LogDebug.

89  : sideRod(0),
90  sideRodX(0),
91  sideRodY(0),
92  sideRodZ(0),
93  endRod1Y(0),
94  endRod1Z(0),
95  clampX(0),
96  clampZ(0),
97  sideCoolX(0),
98  sideCoolY(0),
99  sideCoolZ(0),
100  endCoolY(0),
101  endCoolZ(0),
102  optFibreX(0),
103  optFibreZ(0),
104  sideClampX(0),
105  sideClamp1DZ(0),
106  sideClamp2DZ(0),
107  moduleRot(0),
108  moduleY(0),
109  moduleZ(0),
110  connect(0),
111  connectY(0),
112  connectZ(0),
113  aohCopies(0),
114  aohX(0),
115  aohY(0),
116  aohZ(0) {
117  LogDebug("TOBGeom") << "DDTOBRodAlgo info: Creating an instance";
118 }
vector< string > sideRod
Definition: DDTOBRodAlgo.cc:37
vector< double > aohZ
Definition: DDTOBRodAlgo.cc:85
vector< double > optFibreZ
Definition: DDTOBRodAlgo.cc:65
vector< double > connectZ
Definition: DDTOBRodAlgo.cc:79
vector< double > aohCopies
Definition: DDTOBRodAlgo.cc:82
vector< double > sideRodY
Definition: DDTOBRodAlgo.cc:39
vector< double > sideRodZ
Definition: DDTOBRodAlgo.cc:40
vector< double > sideClamp2DZ
Definition: DDTOBRodAlgo.cc:71
vector< double > connectY
Definition: DDTOBRodAlgo.cc:78
vector< double > moduleY
Definition: DDTOBRodAlgo.cc:75
vector< double > clampZ
Definition: DDTOBRodAlgo.cc:53
vector< double > aohY
Definition: DDTOBRodAlgo.cc:84
vector< double > aohX
Definition: DDTOBRodAlgo.cc:83
vector< double > moduleZ
Definition: DDTOBRodAlgo.cc:76
vector< double > sideCoolY
Definition: DDTOBRodAlgo.cc:56
vector< double > sideCoolZ
Definition: DDTOBRodAlgo.cc:57
vector< double > endRod1Y
Definition: DDTOBRodAlgo.cc:42
vector< double > optFibreX
Definition: DDTOBRodAlgo.cc:64
vector< double > sideRodX
Definition: DDTOBRodAlgo.cc:38
vector< double > sideClamp1DZ
Definition: DDTOBRodAlgo.cc:69
vector< double > sideClampX
Definition: DDTOBRodAlgo.cc:68
double endCoolZ
Definition: DDTOBRodAlgo.cc:61
vector< double > endRod1Z
Definition: DDTOBRodAlgo.cc:43
double endCoolY
Definition: DDTOBRodAlgo.cc:60
vector< double > sideCoolX
Definition: DDTOBRodAlgo.cc:55
vector< double > clampX
Definition: DDTOBRodAlgo.cc:52
vector< string > moduleRot
Definition: DDTOBRodAlgo.cc:74
#define LogDebug(id)
vector< string > connect
Definition: DDTOBRodAlgo.cc:77

◆ ~DDTOBRodAlgo()

DDTOBRodAlgo::~DDTOBRodAlgo ( )
override

Definition at line 120 of file DDTOBRodAlgo.cc.

120 {}

Member Function Documentation

◆ execute()

void DDTOBRodAlgo::execute ( DDCompactView cpv)
override

Definition at line 239 of file DDTOBRodAlgo.cc.

References aohCopies, aohName, aohX, aohY, aohZ, cable, cableZ, central, submitPVValidationJobs::child, submitPVValidationJobs::child1, clamp, clampX, clampZ, connect, connectY, connectZ, DDSplit(), endCool, endCoolRot, endCoolY, endCoolZ, endRod1, endRod1Y, endRod1Z, endRod2, endRod2Y, endRod2Z, first, mps_fire::i, createfilelist::int, dqmiolumiharvest::j, LogDebug, module, moduleRot, moduleY, moduleZ, optFibre, optFibreX, optFibreZ, class-composition::parent, DDCompactView::position(), alignCSCRings::r, diffTwoXMLs::r1, diffTwoXMLs::r2, makeMuonMisalignmentScenario::rot, edm::second(), shift, sideClamp1, sideClamp1DZ, sideClamp2, sideClamp2DZ, sideClampX, sideCool, sideCoolX, sideCoolY, sideCoolZ, sideRod, sideRodX, sideRodY, and sideRodZ.

239  {
240  LogDebug("TOBGeom") << "==>> Constructing DDTOBRodAlgo...";
241  DDName rodName = parent().name();
243 
244  // Side Rods
245  for (int i = 0; i < (int)(sideRod.size()); i++) {
246  for (int j = 0; j < (int)(sideRodX.size()); j++) {
249  cpv.position(child, rodName, j + 1, r, DDRotation());
250  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << j + 1 << " positioned in " << rodName
251  << " at " << r << " with no rotation";
252  }
253  }
254 
255  // Clamps
256  for (int i = 0; i < (int)(clampX.size()); i++) {
257  DDTranslation r(clampX[i], 0, shift + clampZ[i]);
259  cpv.position(child, rodName, i + 1, r, DDRotation());
260  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << rodName
261  << " at " << r << " with no rotation";
262  }
263 
264  // Side Cooling tubes
265  for (int i = 0; i < (int)(sideCoolX.size()); i++) {
268  cpv.position(child, rodName, i + 1, r, DDRotation());
269  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << rodName
270  << " at " << r << " with no rotation";
271  }
272 
273  // Optical Fibres
274  for (int i = 0; i < (int)(optFibreX.size()); i++) {
277  cpv.position(child, rodName, i + 1, r, DDRotation());
278  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << rodName
279  << " at " << r << " with no rotation";
280  }
281 
282  // Side Clamps
283  for (int i = 0; i < (int)(sideClamp1DZ.size()); i++) {
284  int j = i / 2;
287  cpv.position(child, rodName, i + 1, r, DDRotation());
288  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << rodName
289  << " at " << r << " with no rotation";
290  }
291  for (int i = 0; i < (int)(sideClamp2DZ.size()); i++) {
292  int j = i / 2;
295  cpv.position(child, rodName, i + 1, r, DDRotation());
296  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << rodName
297  << " at " << r << " with no rotation";
298  }
299 
300  // End Rods
301  for (int i = 0; i < (int)(endRod1Y.size()); i++) {
304  cpv.position(child, centName, i + 1, r, DDRotation());
305  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << centName
306  << " at " << r << " with no rotation";
307  }
310  cpv.position(child1, centName, 1, r1, DDRotation());
311  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child1 << " number 1 "
312  << "positioned in " << centName << " at " << r1 << " with no rotation";
313 
314  // End cooling tubes
316  string rotstr = DDSplit(endCoolRot).first;
317  string rotns = DDSplit(endCoolRot).second;
318  DDRotation rot2(DDName(rotstr, rotns));
320  cpv.position(child2, centName, 1, r2, rot2);
321  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child2 << " number 1 "
322  << "positioned in " << centName << " at " << r2 << " with " << rot2;
323 
324  //Mother cable
325  DDTranslation r3(0, 0, shift + cableZ);
327  cpv.position(child3, centName, 1, r3, DDRotation());
328  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child3 << " number 1 "
329  << "positioned in " << centName << " at " << r3 << " with no rotation";
330 
331  //Modules
332  for (int i = 0; i < (int)(moduleRot.size()); i++) {
334  rotstr = DDSplit(moduleRot[i]).first;
335  DDRotation rot;
336  if (rotstr != "NULL") {
337  rotns = DDSplit(moduleRot[i]).second;
338  rot = DDRotation(DDName(rotstr, rotns));
339  }
341  cpv.position(child, centName, i + 1, r, rot);
342  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << centName
343  << " at " << r << " with " << rot;
344  }
345 
346  //Connectors (ICC, CCUM, ...)
347  for (int i = 0; i < (int)(connect.size()); i++) {
350  cpv.position(child, centName, i + 1, r, DDRotation());
351  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << i + 1 << " positioned in " << centName
352  << " at " << r << " with no rotation";
353  }
354 
355  //AOH (only on ICCs)
356  int copyNumber = 0;
357  for (int i = 0; i < (int)(aohCopies.size()); i++) {
358  if (aohCopies[i] != 0) {
359  // first copy with (+aohX,+aohZ) translation
360  copyNumber++;
361  DDTranslation r(aohX[i] + 0, aohY[i] + connectY[i], aohZ[i] + shift + connectZ[i]);
363  cpv.position(child, centName, copyNumber, r, DDRotation());
364  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << copyNumber << " positioned in " << centName
365  << " at " << r << " with no rotation";
366  // if two copies add a copy with (-aohX,-aohZ) translation
367  if (aohCopies[i] == 2) {
368  copyNumber++;
369  DDTranslation r(-aohX[i] + 0, aohY[i] + connectY[i], -aohZ[i] + shift + connectZ[i]);
371  cpv.position(child, centName, copyNumber, r, DDRotation());
372  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << copyNumber << " positioned in "
373  << centName << " at " << r << " with no rotation";
374  }
375  // if four copies add 3 copies with (-aohX,+aohZ) (-aohX,-aohZ) (+aohX,+aohZ) and translations
376  if (aohCopies[i] == 4) {
377  for (unsigned int j = 1; j < 4; j++) {
378  copyNumber++;
379  switch (j) {
380  case 1: {
381  DDTranslation r(-aohX[i] + 0, aohY[i] + connectY[i], +aohZ[i] + shift + connectZ[i]);
383  cpv.position(child, centName, copyNumber, r, DDRotation());
384  break;
385  }
386  case 2: {
387  DDTranslation r(-aohX[i] + 0, aohY[i] + connectY[i], -aohZ[i] + shift + connectZ[i]);
389  cpv.position(child, centName, copyNumber, r, DDRotation());
390  break;
391  }
392  case 3: {
393  DDTranslation r(+aohX[i] + 0, aohY[i] + connectY[i], -aohZ[i] + shift + connectZ[i]);
395  cpv.position(child, centName, copyNumber, r, DDRotation());
396  break;
397  }
398  }
399  LogDebug("TOBGeom") << "DDTOBRodAlgo test: " << child << " number " << copyNumber << " positioned in "
400  << centName << " at " << r << " with no rotation";
401  }
402  }
403  }
404  }
405 
406  LogDebug("TOBGeom") << "<<== End of DDTOBRodAlgo construction ...";
407 }
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string &copyno, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)
string sideClamp1
Definition: DDTOBRodAlgo.cc:67
vector< string > sideRod
Definition: DDTOBRodAlgo.cc:37
vector< double > aohZ
Definition: DDTOBRodAlgo.cc:85
vector< double > optFibreZ
Definition: DDTOBRodAlgo.cc:65
double endRod2Y
Definition: DDTOBRodAlgo.cc:45
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:17
vector< double > connectZ
Definition: DDTOBRodAlgo.cc:79
vector< double > aohCopies
Definition: DDTOBRodAlgo.cc:82
string endCool
Definition: DDTOBRodAlgo.cc:58
vector< double > sideRodY
Definition: DDTOBRodAlgo.cc:39
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
vector< double > sideRodZ
Definition: DDTOBRodAlgo.cc:40
string endRod1
Definition: DDTOBRodAlgo.cc:41
U second(std::pair< T, U > const &p)
vector< double > sideClamp2DZ
Definition: DDTOBRodAlgo.cc:71
vector< double > connectY
Definition: DDTOBRodAlgo.cc:78
string endRod2
Definition: DDTOBRodAlgo.cc:44
string aohName
Definition: DDTOBRodAlgo.cc:81
vector< double > moduleY
Definition: DDTOBRodAlgo.cc:75
vector< double > clampZ
Definition: DDTOBRodAlgo.cc:53
vector< double > aohY
Definition: DDTOBRodAlgo.cc:84
vector< double > aohX
Definition: DDTOBRodAlgo.cc:83
vector< double > moduleZ
Definition: DDTOBRodAlgo.cc:76
vector< double > sideCoolY
Definition: DDTOBRodAlgo.cc:56
vector< double > sideCoolZ
Definition: DDTOBRodAlgo.cc:57
vector< double > endRod1Y
Definition: DDTOBRodAlgo.cc:42
double endRod2Z
Definition: DDTOBRodAlgo.cc:46
vector< double > optFibreX
Definition: DDTOBRodAlgo.cc:64
string central
Definition: DDTOBRodAlgo.cc:33
vector< double > sideRodX
Definition: DDTOBRodAlgo.cc:38
vector< double > sideClamp1DZ
Definition: DDTOBRodAlgo.cc:69
string optFibre
Definition: DDTOBRodAlgo.cc:63
vector< double > sideClampX
Definition: DDTOBRodAlgo.cc:68
string sideCool
Definition: DDTOBRodAlgo.cc:54
double endCoolZ
Definition: DDTOBRodAlgo.cc:61
string sideClamp2
Definition: DDTOBRodAlgo.cc:70
vector< double > endRod1Z
Definition: DDTOBRodAlgo.cc:43
double endCoolY
Definition: DDTOBRodAlgo.cc:60
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = &#39;:&#39;
Definition: DDSplit.cc:3
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
string endCoolRot
Definition: DDTOBRodAlgo.cc:59
vector< double > sideCoolX
Definition: DDTOBRodAlgo.cc:55
vector< double > clampX
Definition: DDTOBRodAlgo.cc:52
vector< string > moduleRot
Definition: DDTOBRodAlgo.cc:74
#define LogDebug(id)
vector< string > connect
Definition: DDTOBRodAlgo.cc:77

◆ initialize()

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

Definition at line 122 of file DDTOBRodAlgo.cc.

References aohCopies, aohName, aohX, aohY, aohZ, cable, cableZ, central, clamp, clampX, clampZ, connect, connectY, connectZ, endCool, endCoolRot, endCoolY, endCoolZ, endRod1, endRod1Y, endRod1Z, endRod2, endRod2Y, endRod2Z, mps_fire::i, idNameSpace, createfilelist::int, dqmiolumiharvest::j, LogDebug, module, moduleRot, moduleY, moduleZ, DDCurrentNamespace::ns(), optFibre, optFibreX, optFibreZ, class-composition::parent, shift, sideClamp1, sideClamp1DZ, sideClamp2, sideClamp2DZ, sideClampX, sideCool, sideCoolX, sideCoolY, sideCoolZ, sideRod, sideRodX, sideRodY, and sideRodZ.

126  {
127  central = sArgs["CentralName"];
128  shift = nArgs["Shift"];
130  DDName parentName = parent().name();
131  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: Parent " << parentName << " Central " << central << " NameSpace "
132  << idNameSpace << "\tShift " << shift;
133 
134  sideRod = vsArgs["SideRodName"];
135  sideRodX = vArgs["SideRodX"];
136  sideRodY = vArgs["SideRodY"];
137  sideRodZ = vArgs["SideRodZ"];
138  for (int i = 0; i < (int)(sideRod.size()); i++) {
139  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << sideRod[i] << " to be positioned " << sideRodX.size()
140  << " times at y = " << sideRodY[i] << " z = " << sideRodZ[i] << " and x";
141  for (double j : sideRodX)
142  LogDebug("TOBGeom") << "\tsideRodX[" << i << "] = " << j;
143  }
144 
145  endRod1 = sArgs["EndRod1Name"];
146  endRod1Y = vArgs["EndRod1Y"];
147  endRod1Z = vArgs["EndRod1Z"];
148  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << endRod1 << " to be "
149  << "positioned " << endRod1Y.size() << " times at";
150  for (int i = 0; i < (int)(endRod1Y.size()); i++)
151  LogDebug("TOBGeom") << "\t[" << i << "]\ty = " << endRod1Y[i] << "\tz = " << endRod1Z[i];
152 
153  endRod2 = sArgs["EndRod2Name"];
154  endRod2Y = nArgs["EndRod2Y"];
155  endRod2Z = nArgs["EndRod2Z"];
156  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << endRod2 << " to be "
157  << "positioned at y = " << endRod2Y << " z = " << endRod2Z;
158 
159  cable = sArgs["CableName"];
160  cableZ = nArgs["CableZ"];
161  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << cable << " to be "
162  << "positioned at z = " << cableZ;
163 
164  clamp = sArgs["ClampName"];
165  clampX = vArgs["ClampX"];
166  clampZ = vArgs["ClampZ"];
167  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << clamp << " to be "
168  << "positioned " << clampX.size() << " times at";
169  for (int i = 0; i < (int)(clampX.size()); i++)
170  LogDebug("TOBGeom") << "\t[" << i << "]\tx = " << clampX[i] << "\tz = " << clampZ[i];
171 
172  sideCool = sArgs["SideCoolName"];
173  sideCoolX = vArgs["SideCoolX"];
174  sideCoolY = vArgs["SideCoolY"];
175  sideCoolZ = vArgs["SideCoolZ"];
176  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << sideCool << " to be "
177  << "positioned " << sideCoolX.size() << " times at";
178  for (int i = 0; i < (int)(sideCoolX.size()); i++)
179  LogDebug("TOBGeom") << "\t[" << i << "]\tx = " << sideCoolX[i] << "\ty = " << sideCoolY[i]
180  << "\tz = " << sideCoolZ[i];
181 
182  endCool = sArgs["EndCoolName"];
183  endCoolY = nArgs["EndCoolY"];
184  endCoolZ = nArgs["EndCoolZ"];
185  endCoolRot = sArgs["EndCoolRot"];
186  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << endCool << " to be "
187  << "positioned with " << endCoolRot << " rotation at"
188  << " y = " << endCoolY << " z = " << endCoolZ;
189 
190  optFibre = sArgs["OptFibreName"];
191  optFibreX = vArgs["optFibreX"];
192  optFibreZ = vArgs["optFibreZ"];
193  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << optFibre << " to be "
194  << "positioned " << optFibreX.size() << " times at";
195  for (int i = 0; i < (int)(optFibreX.size()); i++)
196  LogDebug("TOBGeom") << "\t[" << i << "]\tx = " << optFibreX[i] << "\tz = " << optFibreZ[i];
197 
198  sideClamp1 = sArgs["SideClamp1Name"];
199  sideClampX = vArgs["SideClampX"];
200  sideClamp1DZ = vArgs["SideClamp1DZ"];
201  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << sideClamp1 << " to be "
202  << "positioned " << sideClampX.size() << " times at";
203  for (int i = 0; i < (int)(sideClampX.size()); i++)
204  LogDebug("TOBGeom") << "\t[" << i << "]\tx = " << sideClampX[i] << "\tdz = " << sideClamp1DZ[i];
205 
206  sideClamp2 = sArgs["SideClamp2Name"];
207  sideClamp2DZ = vArgs["SideClamp2DZ"];
208  LogDebug("TOBGeom") << "DDTOBRodAlgo debug: " << sideClamp2 << " to be "
209  << "positioned " << sideClampX.size() << " times at";
210  for (int i = 0; i < (int)(sideClampX.size()); i++)
211  LogDebug("TOBGeom") << "\t[" << i << "]\tx = " << sideClampX[i] << "\tdz = " << sideClamp2DZ[i];
212 
213  moduleRot = vsArgs["ModuleRot"];
214  module = sArgs["ModuleName"];
215  moduleY = vArgs["ModuleY"];
216  moduleZ = vArgs["ModuleZ"];
217  LogDebug("TOBGeom") << "DDTOBRodAlgo debug:\t" << module << " positioned " << moduleRot.size() << " times";
218  for (int i = 0; i < (int)(moduleRot.size()); i++)
219  LogDebug("TOBGeom") << "\tRotation " << moduleRot[i] << "\ty = " << moduleY[i] << "\tz = " << moduleZ[i];
220 
221  connect = vsArgs["ICCName"];
222  connectY = vArgs["ICCY"];
223  connectZ = vArgs["ICCZ"];
224  LogDebug("TOBGeom") << "DDTOBRodAlgo debug:\t" << connect.size() << " ICC positioned with no rotation";
225  for (int i = 0; i < (int)(connect.size()); i++)
226  LogDebug("TOBGeom") << "\t" << connect[i] << "\ty = " << connectY[i] << "\tz = " << connectZ[i];
227 
228  aohName = sArgs["AOHName"];
229  aohCopies = vArgs["AOHCopies"];
230  aohX = vArgs["AOHx"];
231  aohY = vArgs["AOHy"];
232  aohZ = vArgs["AOHz"];
233  LogDebug("TOBGeom") << "DDTOBRodAlgo debug:\t" << aohName << " AOH will be positioned on ICC's";
234  for (int i = 0; i < (int)(aohCopies.size()); i++)
235  LogDebug("TOBGeom") << " copies " << aohCopies[i] << "\tx = " << aohX[i] << "\ty = " << aohY[i]
236  << "\tz = " << aohZ[i];
237 }
string idNameSpace
Definition: DDTOBRodAlgo.cc:34
string sideClamp1
Definition: DDTOBRodAlgo.cc:67
vector< string > sideRod
Definition: DDTOBRodAlgo.cc:37
vector< double > aohZ
Definition: DDTOBRodAlgo.cc:85
vector< double > optFibreZ
Definition: DDTOBRodAlgo.cc:65
double endRod2Y
Definition: DDTOBRodAlgo.cc:45
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:17
vector< double > connectZ
Definition: DDTOBRodAlgo.cc:79
static std::string & ns()
vector< double > aohCopies
Definition: DDTOBRodAlgo.cc:82
string endCool
Definition: DDTOBRodAlgo.cc:58
vector< double > sideRodY
Definition: DDTOBRodAlgo.cc:39
vector< double > sideRodZ
Definition: DDTOBRodAlgo.cc:40
string endRod1
Definition: DDTOBRodAlgo.cc:41
vector< double > sideClamp2DZ
Definition: DDTOBRodAlgo.cc:71
vector< double > connectY
Definition: DDTOBRodAlgo.cc:78
string endRod2
Definition: DDTOBRodAlgo.cc:44
string aohName
Definition: DDTOBRodAlgo.cc:81
vector< double > moduleY
Definition: DDTOBRodAlgo.cc:75
vector< double > clampZ
Definition: DDTOBRodAlgo.cc:53
vector< double > aohY
Definition: DDTOBRodAlgo.cc:84
vector< double > aohX
Definition: DDTOBRodAlgo.cc:83
vector< double > moduleZ
Definition: DDTOBRodAlgo.cc:76
vector< double > sideCoolY
Definition: DDTOBRodAlgo.cc:56
vector< double > sideCoolZ
Definition: DDTOBRodAlgo.cc:57
vector< double > endRod1Y
Definition: DDTOBRodAlgo.cc:42
double endRod2Z
Definition: DDTOBRodAlgo.cc:46
vector< double > optFibreX
Definition: DDTOBRodAlgo.cc:64
string central
Definition: DDTOBRodAlgo.cc:33
vector< double > sideRodX
Definition: DDTOBRodAlgo.cc:38
vector< double > sideClamp1DZ
Definition: DDTOBRodAlgo.cc:69
string optFibre
Definition: DDTOBRodAlgo.cc:63
vector< double > sideClampX
Definition: DDTOBRodAlgo.cc:68
string sideCool
Definition: DDTOBRodAlgo.cc:54
double endCoolZ
Definition: DDTOBRodAlgo.cc:61
string sideClamp2
Definition: DDTOBRodAlgo.cc:70
vector< double > endRod1Z
Definition: DDTOBRodAlgo.cc:43
double endCoolY
Definition: DDTOBRodAlgo.cc:60
string endCoolRot
Definition: DDTOBRodAlgo.cc:59
vector< double > sideCoolX
Definition: DDTOBRodAlgo.cc:55
vector< double > clampX
Definition: DDTOBRodAlgo.cc:52
vector< string > moduleRot
Definition: DDTOBRodAlgo.cc:74
#define LogDebug(id)
vector< string > connect
Definition: DDTOBRodAlgo.cc:77

Member Data Documentation

◆ aohCopies

vector<double> DDTOBRodAlgo::aohCopies
private

Definition at line 82 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ aohName

string DDTOBRodAlgo::aohName
private

Definition at line 81 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ aohX

vector<double> DDTOBRodAlgo::aohX
private

Definition at line 83 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ aohY

vector<double> DDTOBRodAlgo::aohY
private

Definition at line 84 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ aohZ

vector<double> DDTOBRodAlgo::aohZ
private

Definition at line 85 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ cable

string DDTOBRodAlgo::cable
private

Definition at line 48 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ cableZ

double DDTOBRodAlgo::cableZ
private

Definition at line 49 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ central

string DDTOBRodAlgo::central
private

Definition at line 33 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ clamp

string DDTOBRodAlgo::clamp
private

Definition at line 51 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ clampX

vector<double> DDTOBRodAlgo::clampX
private

Definition at line 52 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ clampZ

vector<double> DDTOBRodAlgo::clampZ
private

Definition at line 53 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ connect

vector<string> DDTOBRodAlgo::connect
private

◆ connectY

vector<double> DDTOBRodAlgo::connectY
private

Definition at line 78 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ connectZ

vector<double> DDTOBRodAlgo::connectZ
private

Definition at line 79 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endCool

string DDTOBRodAlgo::endCool
private

Definition at line 58 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endCoolRot

string DDTOBRodAlgo::endCoolRot
private

Definition at line 59 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endCoolY

double DDTOBRodAlgo::endCoolY
private

Definition at line 60 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endCoolZ

double DDTOBRodAlgo::endCoolZ
private

Definition at line 61 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endRod1

string DDTOBRodAlgo::endRod1
private

Definition at line 41 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endRod1Y

vector<double> DDTOBRodAlgo::endRod1Y
private

Definition at line 42 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endRod1Z

vector<double> DDTOBRodAlgo::endRod1Z
private

Definition at line 43 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endRod2

string DDTOBRodAlgo::endRod2
private

Definition at line 44 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endRod2Y

double DDTOBRodAlgo::endRod2Y
private

Definition at line 45 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ endRod2Z

double DDTOBRodAlgo::endRod2Z
private

Definition at line 46 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ idNameSpace

string DDTOBRodAlgo::idNameSpace
private

Definition at line 34 of file DDTOBRodAlgo.cc.

Referenced by initialize().

◆ module

string DDTOBRodAlgo::module
private

Definition at line 73 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ moduleRot

vector<string> DDTOBRodAlgo::moduleRot
private

Definition at line 74 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ moduleY

vector<double> DDTOBRodAlgo::moduleY
private

Definition at line 75 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ moduleZ

vector<double> DDTOBRodAlgo::moduleZ
private

Definition at line 76 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ optFibre

string DDTOBRodAlgo::optFibre
private

Definition at line 63 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ optFibreX

vector<double> DDTOBRodAlgo::optFibreX
private

Definition at line 64 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ optFibreZ

vector<double> DDTOBRodAlgo::optFibreZ
private

Definition at line 65 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ shift

double DDTOBRodAlgo::shift
private

Definition at line 36 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideClamp1

string DDTOBRodAlgo::sideClamp1
private

Definition at line 67 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideClamp1DZ

vector<double> DDTOBRodAlgo::sideClamp1DZ
private

Definition at line 69 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideClamp2

string DDTOBRodAlgo::sideClamp2
private

Definition at line 70 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideClamp2DZ

vector<double> DDTOBRodAlgo::sideClamp2DZ
private

Definition at line 71 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideClampX

vector<double> DDTOBRodAlgo::sideClampX
private

Definition at line 68 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideCool

string DDTOBRodAlgo::sideCool
private

Definition at line 54 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideCoolX

vector<double> DDTOBRodAlgo::sideCoolX
private

Definition at line 55 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideCoolY

vector<double> DDTOBRodAlgo::sideCoolY
private

Definition at line 56 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideCoolZ

vector<double> DDTOBRodAlgo::sideCoolZ
private

Definition at line 57 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideRod

vector<string> DDTOBRodAlgo::sideRod
private

Definition at line 37 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideRodX

vector<double> DDTOBRodAlgo::sideRodX
private

Definition at line 38 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideRodY

vector<double> DDTOBRodAlgo::sideRodY
private

Definition at line 39 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().

◆ sideRodZ

vector<double> DDTOBRodAlgo::sideRodZ
private

Definition at line 40 of file DDTOBRodAlgo.cc.

Referenced by execute(), and initialize().