CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DTTrigGeom Class Reference

#include <DTTrigGeom.h>

Public Member Functions

float cellH () const
 Height of a cell (cm) More...
 
float cellPitch () const
 Width of a cell (cm) i.e. distance between ywo wires. More...
 
GlobalPoint CMSPosition (const DTBtiId obj) const
 CMS position of a BTI. More...
 
GlobalPoint CMSPosition (const DTTracoId obj) const
 CMS position of a TRACO. More...
 
float distSL () const
 Distance between the phi view superlayers (cms) More...
 
 DTTrigGeom (const DTChamber *stat, bool debug)
 Constructor. More...
 
void dumpGeom () const
 Dump the geometry. More...
 
void dumpLUT (short int btic)
 Dump the LUT for this chamber. More...
 
void IEEE32toDSP (float f, short int &DSPmantissa, short int &DSPexp)
 
LocalPoint localPosition (const DTBtiId) const
 Local position in chamber of a BTI. More...
 
LocalPoint localPosition (const DTTracoId) const
 Local position in chamber of a TRACO. More...
 
int mapTubeInFEch (int nsl, int nlay, int ntube) const
 Staggering of first wire of layer respect to default: obsolete 19/6/06. More...
 
int nCell (int sl) const
 Number of BTIs in a required superlayer (i.e. nCells in lay 1) More...
 
float phiCh () const
 Rotation angle of chamber (deg) More...
 
float phiSLOffset ()
 Superlayer offset in chamber front-end frame, in cm. More...
 
int posFE (int sl) const
 Front End position : 1=toward negative y, 0=toward positive y. More...
 
int sector () const
 Return sector number. More...
 
void setGeom (const DTChamber *stat)
 Set/Update Geometry. More...
 
const DTChamberstat () const
 Associated chamber. More...
 
DTChamberId statId () const
 Identifier of the associated chamber. More...
 
int station () const
 Return station number. More...
 
GlobalPoint toGlobal (const LocalPoint p) const
 Go to CMS coordinate system for a point. More...
 
GlobalVector toGlobal (const LocalVector v) const
 Go to CMS coordinate system for a vector. More...
 
LocalPoint toLocal (const GlobalPoint p) const
 Go to Local coordinate system for a point. More...
 
LocalVector toLocal (const GlobalVector v) const
 Go to Local coordinate system for a vector. More...
 
LocalPoint tubePosInCh (int nsl, int nlay, int ntube) const
 Wire position in chamber frame. More...
 
int wheel () const
 Return wheel number. More...
 
float ZcenterSL () const
 Coordinate of center of the 2 Phi SL. More...
 
float ZSL (int) const
 Radial coordinate in chamber frame of center of a superlayer. More...
 
 ~DTTrigGeom ()
 Destructor. More...
 

Private Member Functions

void getGeom ()
 Get the geometry from the station. More...
 

Private Attributes

bool _debug
 
float _H
 
int _NCELL [3]
 
float _PHICH
 
float _PITCH
 
const DTChamber_stat
 
float _ZSL [3]
 

Detailed Description

Muon Barrel Trigger Geometry

Author
C.Grandi S.Vanini

Definition at line 41 of file DTTrigGeom.h.

Constructor & Destructor Documentation

DTTrigGeom::DTTrigGeom ( const DTChamber stat,
bool  debug 
)

Constructor.

Definition at line 52 of file DTTrigGeom.cc.

References getGeom().

53  : _stat(stat), _debug(debug) {
54 
55  getGeom();
56 }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
bool _debug
Definition: DTTrigGeom.h:217
#define debug
Definition: HDRShower.cc:19
void getGeom()
Get the geometry from the station.
Definition: DTTrigGeom.cc:213
DTTrigGeom::~DTTrigGeom ( )

Destructor.

Definition at line 62 of file DTTrigGeom.cc.

62 {}

Member Function Documentation

float DTTrigGeom::cellH ( ) const
inline

Height of a cell (cm)

Definition at line 74 of file DTTrigGeom.h.

References _H.

Referenced by DTBtiChip::DTBtiChip(), DTBtiCard::localDirection(), localPosition(), DTTracoChip::setTracoAcceptances(), DTTracoChip::storeCorr(), and DTTracoChip::storeUncorr().

74 { return _H; }
float _H
Definition: DTTrigGeom.h:213
float DTTrigGeom::cellPitch ( ) const
inline
GlobalPoint DTTrigGeom::CMSPosition ( const DTBtiId  obj) const
inline

CMS position of a BTI.

Definition at line 188 of file DTTrigGeom.h.

References localPosition(), and toGlobal().

Referenced by DTBtiChip::CMSPosition(), DTTracoChip::CMSPosition(), DTBtiChip::DTBtiChip(), and dumpGeom().

188  {
189  return toGlobal(localPosition(obj));
190  }
GlobalPoint toGlobal(const LocalPoint p) const
Go to CMS coordinate system for a point.
Definition: DTTrigGeom.h:113
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:541
GlobalPoint DTTrigGeom::CMSPosition ( const DTTracoId  obj) const
inline

CMS position of a TRACO.

Definition at line 193 of file DTTrigGeom.h.

References dumpGeom(), dumpLUT(), f, getGeom(), IEEE32toDSP(), localPosition(), and toGlobal().

193  {
194  return toGlobal(localPosition(obj));
195  }
GlobalPoint toGlobal(const LocalPoint p) const
Go to CMS coordinate system for a point.
Definition: DTTrigGeom.h:113
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:541
float DTTrigGeom::distSL ( ) const
inline

Distance between the phi view superlayers (cms)

Definition at line 80 of file DTTrigGeom.h.

References _ZSL.

Referenced by getGeom(), DTTracoCard::localDirection(), DTTracoCard::localPosition(), DTTracoChip::setTracoAcceptances(), DTTracoChip::storeCorr(), and DTTracoChip::storeUncorr().

80 { return fabs(_ZSL[2] - _ZSL[0]); }
float _ZSL[3]
Definition: DTTrigGeom.h:215
void DTTrigGeom::dumpGeom ( ) const

Dump the geometry.

Definition at line 275 of file DTTrigGeom.cc.

References _stat, CMSPosition(), gather_cfg::cout, cuy::ii, findQualityFiles::jj, localPosition(), PV3DBase< T, PVType, FrameType >::mag(), nCell(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), phiCh(), createTree::pp, sector(), statId(), station(), GeomDet::toGlobal(), tubePosInCh(), wheel(), PV3DBase< T, PVType, FrameType >::z(), and ZSL().

Referenced by CMSPosition(), and DTSCTrigUnit::dumpGeom().

275  {
276  std::cout << "Identification: wheel=" << wheel();
277  std::cout << ", station=" << station();
278  std::cout << ", sector=" << sector() << std::endl;
279  GlobalPoint pp = _stat->toGlobal(LocalPoint(0, 0, 0));
280  std::cout << "Position: Mag=" << pp.mag()
281  << "cm, Phi=" << pp.phi() * 180 / 3.14159;
282  std::cout << " deg, Z=" << pp.z() << " cm" << std::endl;
283  std::cout << "Rotation: ANGLE=" << phiCh() * 180 / 3.14159 << std::endl;
284  std::cout << "Z of superlayers: phi=" << ZSL(1) << ", ";
285  std::cout << ZSL(3) << " theta=" << ZSL(2) << std::endl;
286  std::cout << "Number of cells: SL1=" << nCell(1) << " SL2=" << nCell(2)
287  << " SL3=" << nCell(3) << std::endl;
288  std::cout << "First wire positions:" << std::endl;
289  int ii = 0;
290  int jj = 0;
291  for (ii = 1; ii <= 3; ii++) {
292  if (station() != 4 || ii != 2) {
293  for (jj = 1; jj <= 4; jj++) {
294  std::cout << " SL=" << ii << ", lay=" << jj << ", wire 1 position=";
295  if (jj == 4)
296  std::cout << tubePosInCh(ii, jj, 2) << std::endl;
297  else
298  std::cout << tubePosInCh(ii, jj, 1) << std::endl;
299  }
300  }
301  }
302 
303  GlobalPoint gp1 = CMSPosition(DTBtiId(statId(), 1, 1));
304 
305  std::cout << "First BTI position:";
306  std::cout << " SL1:" << localPosition(DTBtiId(statId(), 1, 1)) << std::endl;
307  std::cout << " Position: R=" << gp1.perp()
308  << "cm, Phi=" << gp1.phi() * 180 / 3.14159 << " deg, Z=" << gp1.z()
309  << " cm" << std::endl;
310 
311  if (station() != 4) {
312  GlobalPoint gp2 = CMSPosition(DTBtiId(statId(), 2, 1));
313  std::cout << " SL2:" << localPosition(DTBtiId(statId(), 2, 1)) << std::endl;
314  std::cout << " Position: R=" << gp2.perp()
315  << "cm, Phi=" << gp2.phi() * 180 / 3.14159
316  << " deg, Z=" << gp2.z() << " cm" << std::endl;
317  }
318 
319  GlobalPoint gp3 = CMSPosition(DTBtiId(statId(), 3, 1));
320  std::cout << " SL3:" << localPosition(DTBtiId(statId(), 3, 1)) << std::endl;
321  std::cout << " Position: R=" << gp3.perp()
322  << "cm, Phi=" << gp3.phi() * 180 / 3.14159 << " deg, Z=" << gp3.z()
323  << " cm" << std::endl;
324 
325  std::cout << "First TRACO position:";
326  std::cout << localPosition(DTTracoId(statId(), 1)) << std::endl;
327  std::cout << "******************************************************"
328  << std::endl;
329 }
int sector() const
Return sector number.
Definition: DTTrigGeom.h:66
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
float phiCh() const
Rotation angle of chamber (deg)
Definition: DTTrigGeom.h:71
T perp() const
Definition: PV3DBase.h:72
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:60
const DTChamber * _stat
Definition: DTTrigGeom.h:209
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
T mag() const
Definition: PV3DBase.h:67
T z() const
Definition: PV3DBase.h:64
ii
Definition: cuy.py:590
int station() const
Return station number.
Definition: DTTrigGeom.h:63
LocalPoint tubePosInCh(int nsl, int nlay, int ntube) const
Wire position in chamber frame.
Definition: DTTrigGeom.cc:174
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:54
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:541
GlobalPoint CMSPosition(const DTBtiId obj) const
CMS position of a BTI.
Definition: DTTrigGeom.h:188
int nCell(int sl) const
Number of BTIs in a required superlayer (i.e. nCells in lay 1)
Definition: DTTrigGeom.h:89
float ZSL(int) const
Radial coordinate in chamber frame of center of a superlayer.
Definition: DTTrigGeom.cc:266
void DTTrigGeom::dumpLUT ( short int  btic)

Dump the LUT for this chamber.

Definition at line 331 of file DTTrigGeom.cc.

References _stat, edmIntegrityCheck::d, TauDecayModes::dec, diffTreeTool::diff, groupFilesInBlocks::fout, IEEE32toDSP(), localPosition(), funct::m, dataset::name, phiCh(), createTree::pp, q1, sector(), mathSSE::sqrt(), statId(), station(), funct::tan(), GeomDet::toGlobal(), toGlobal(), wheel(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and ZcenterSL().

Referenced by CMSPosition(), and DTSCTrigUnit::dumpLUT().

331  {
332 
333  // chamber id
334  int wh = wheel();
335  int st = station();
336  int se = sector();
337 
338  // open txt file
339  string name = "Lut_from_CMSSW_geom";
340  /* name += "_wh_";
341  if(wh<0)
342  name += "-";
343  name += abs(wh) + '0';
344  name += "_st_";
345  name += st + '0';
346  name += "_se_";
347  if(se<10)
348  name += se + '0';
349  else
350  {
351  name += 1 + '0';
352  name += (se-10) + '0';
353  }
354  */
355  name += ".txt";
356 
357  ofstream fout;
358  fout.open(name.c_str(), ofstream::app);
359 
360  // *** dump file header
361  // fout << "Identification: wheel\t" << wh;
362  // fout << "\tstation\t" << st;
363  // fout << "\tsector\t" << se;
364  fout << wh;
365  fout << "\t" << st;
366  fout << "\t" << se;
367 
368  // SL shift
369  float xBTI1_3 =
371  .x();
372  float xBTI1_1 =
374  .x();
375  float SL_shift = xBTI1_3 - xBTI1_1;
376  // std::cout << " SL shift " << SL_shift << std::endl;
377 
378  // traco 1 and 2 global position
379  LocalPoint traco1 = localPosition(DTTracoId(statId(), 1));
380  LocalPoint traco2 = localPosition(DTTracoId(statId(), 2));
381  GlobalPoint traco_1 = toGlobal(traco1);
382  GlobalPoint traco_2 = toGlobal(traco2);
383  // std::cout << " tr1 x " << traco_1.x() << " tr2 x " << traco_2.x() <<
384  // std::endl;
385 
386  float d;
387  float xcn;
388  int xcn_sign;
390  // std::cout << "Position: x=" << pp.x() << "cm, y=" << pp.y() << "cm, z=" <<
391  // pp.z() << std::endl;
392 
393  if (sector() == 1 || sector() == 7) {
394  d = fabs(traco_1.x());
395  xcn = fabs(traco_1.y());
396  // 110208 SV comment: this was inserted for a TRACO hardware bug
397  if (SL_shift > 0)
398  xcn = xcn + SL_shift;
399  xcn_sign = static_cast<int>(pp.y() / fabs(pp.y())) *
400  static_cast<int>(traco_1.y() / fabs(traco_1.y()));
401  if (station() == 2 || (station() == 4 && sector() == 1))
402  xcn_sign = -xcn_sign;
403  xcn = xcn * xcn_sign;
404  } else {
405  float m1 = (traco_2.y() - traco_1.y()) / (traco_2.x() - traco_1.x());
406  float q1 = traco_1.y() - m1 * traco_1.x();
407  float m = tan(phiCh());
408  float xn = q1 / (m - m1);
409  float yn = m * xn;
410 
411  d = sqrt(xn * xn + yn * yn);
412  xcn = sqrt((xn - traco_1.x()) * (xn - traco_1.x()) +
413  (yn - traco_1.y()) * (yn - traco_1.y()));
414  // 110208 SV comment: this was inserted for a TRACO hardware bug
415  if (SL_shift > 0)
416  xcn = xcn + SL_shift;
417 
418  float diff = (pp.x() - traco_1.x()) * traco_1.y();
419  xcn_sign = static_cast<int>(diff / fabs(diff));
420  xcn = xcn * xcn_sign;
421  }
422  // std::cout << " d " << d << " xcn " << xcn << " sign " << xcn_sign <<
423  // std::endl;
424  // fout << "\td\t" << d << "\txcn\t" << xcn << "\t";
425  // fout << "btic\t" << btic << "\t";
426 
427  // *** dump TRACO LUT command
428  fout << "\tA8";
429  // short int btic = 31;
430  // cout << "CHECK BTIC " << btic << endl;
431  short int Low_byte =
432  (btic & 0x00FF); // output in hex bytes format with zero padding
433  short int High_byte = (btic >> 8 & 0x00FF);
434  fout << setw(2) << setfill('0') << hex << High_byte << setw(2) << setfill('0')
435  << Low_byte;
436 
437  // convert parameters from IEE32 float to DSP float format
438  short int DSPmantissa = 0;
439  short int DSPexp = 0;
440 
441  // d parameter conversion and dump
442  IEEE32toDSP(d, DSPmantissa, DSPexp);
443  Low_byte =
444  (DSPmantissa & 0x00FF); // output in hex bytes format with zero padding
445  High_byte = (DSPmantissa >> 8 & 0x00FF);
446  fout << setw(2) << setfill('0') << hex << High_byte << setw(2) << setfill('0')
447  << Low_byte;
448  Low_byte = (DSPexp & 0x00FF);
449  High_byte = (DSPexp >> 8 & 0x00FF);
450  fout << setw(2) << setfill('0') << High_byte << setw(2) << setfill('0')
451  << Low_byte;
452 
453  // xnc parameter conversion and dump
454  DSPmantissa = 0;
455  DSPexp = 0;
456  IEEE32toDSP(xcn, DSPmantissa, DSPexp);
457  Low_byte =
458  (DSPmantissa & 0x00FF); // output in hex bytes format with zero padding
459  High_byte = (DSPmantissa >> 8 & 0x00FF);
460  fout << setw(2) << setfill('0') << hex << High_byte << setw(2) << setfill('0')
461  << Low_byte;
462  Low_byte = (DSPexp & 0x00FF);
463  High_byte = (DSPexp >> 8 & 0x00FF);
464  fout << setw(2) << setfill('0') << High_byte << setw(2) << setfill('0')
465  << Low_byte;
466 
467  // sign bits
468  Low_byte =
469  (xcn_sign & 0x00FF); // output in hex bytes format with zero padding
470  High_byte = (xcn_sign >> 8 & 0x00FF);
471  fout << setw(2) << setfill('0') << hex << High_byte << setw(2) << setfill('0')
472  << Low_byte << dec << "\n";
473 
474  fout.close();
475 
476  return;
477 }
int sector() const
Return sector number.
Definition: DTTrigGeom.h:66
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
float phiCh() const
Rotation angle of chamber (deg)
Definition: DTTrigGeom.h:71
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:60
const DTChamber * _stat
Definition: DTTrigGeom.h:209
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
T y() const
Definition: PV3DBase.h:63
GlobalPoint toGlobal(const LocalPoint p) const
Go to CMS coordinate system for a point.
Definition: DTTrigGeom.h:113
T sqrt(T t)
Definition: SSEVec.h:18
float ZcenterSL() const
Coordinate of center of the 2 Phi SL.
Definition: DTTrigGeom.h:83
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
int station() const
Return station number.
Definition: DTTrigGeom.h:63
double q1[4]
Definition: TauolaWrapper.h:87
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:54
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:541
void IEEE32toDSP(float f, short int &DSPmantissa, short int &DSPexp)
Definition: DTTrigGeom.cc:514
T x() const
Definition: PV3DBase.h:62
void DTTrigGeom::getGeom ( )
private

Get the geometry from the station.

Definition at line 213 of file DTTrigGeom.cc.

References _debug, _H, _NCELL, _PHICH, _PITCH, _stat, _ZSL, DTTopology::channels(), gather_cfg::cout, distSL(), DTTopology::firstChannel(), alignBH_cfg::fixed, mps_fire::i, DTSuperLayer::layer(), PV3DBase< T, PVType, FrameType >::mag(), nCell(), PV3DBase< T, PVType, FrameType >::phi(), phiCh(), position, RecoTauValidation_cfi::posX, createTree::pp, sector(), DTLayer::specificTopology(), statId(), station(), DTChamber::superLayer(), GeomDet::surface(), GeomDet::toGlobal(), Surface::toGlobal(), GloballyPositioned< T >::toLocal(), wheel(), DTTopology::wirePosition(), PV3DBase< T, PVType, FrameType >::z(), and ZSL().

Referenced by CMSPosition(), DTTrigGeom(), and setGeom().

213  {
214 
215  // Geometrical constants of chamber
216  // Cell width (cm)
217  _PITCH = 4.2;
218  // Cell height (cm)
219  _H = 1.3;
220  // azimuthal angle of normal to the chamber
221  _PHICH = _stat->surface().toGlobal(LocalVector(0, 0, -1)).phi();
222 
223  // superlayer positions and number of cells
224  DTSuperLayer const *sl[3];
225  DTLayer const *l1[3];
226  int i = 0;
227  for (i = 0; i < 3; i++) {
228  if (station() == 4 && i == 1) { // No theta SL in MB4
229  _ZSL[i] = -999;
230  _NCELL[i] = 0;
231  } else {
232  sl[i] = _stat->superLayer(DTSuperLayerId(statId(), i + 1));
233  l1[i] = sl[i]->layer(DTLayerId(statId(), i + 1, 1));
234  _ZSL[i] = _stat->surface().toLocal(sl[i]->position()).z(); // - 1.5 * _H;
235  // LocalPoint posInLayer=l1[i]->layType()->getWire(1)->positionInLayer();
236  const DTTopology &tp = l1[i]->specificTopology();
237  float posX = tp.wirePosition(tp.firstChannel());
238  LocalPoint posInLayer(posX, 0, 0);
239  _NCELL[i] = l1[i]->specificTopology().channels();
240  }
241  }
242 
243  // debugging
244  if (_debug) {
245  std::cout << setiosflags(std::ios::showpoint | std::ios::fixed)
246  << std::setw(4) << std::setprecision(1);
247  std::cout << "Identification: wheel=" << wheel();
248  std::cout << ", station=" << station();
249  std::cout << ", sector=" << sector() << std::endl;
250  GlobalPoint pp = _stat->toGlobal(LocalPoint(0, 0, 0));
251  std::cout << "Position: Mag=" << pp.mag()
252  << "cm, Phi=" << pp.phi() * 180 / 3.14159;
253  std::cout << " deg, Z=" << pp.z() << " cm" << std::endl;
254  std::cout << "Rotation: ANGLE=" << phiCh() * 180 / 3.14159 << std::endl;
255  // if(wheel()==2&&sector()==2){ // only 1 sector-wheel
256  std::cout << "Z of superlayers: phi=" << ZSL(1) << ", ";
257  std::cout << ZSL(3) << " theta=" << ZSL(2);
258  std::cout << " (DeltaY = " << distSL() << ")" << std::endl;
259  std::cout << " ncell: sl 1 " << nCell(1) << " sl 2 " << nCell(2) << " sl 3 "
260  << nCell(3) << std::endl;
261  //}
262  }
263  // end debugging
264 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
int sector() const
Return sector number.
Definition: DTTrigGeom.h:66
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:65
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:86
Local3DVector LocalVector
Definition: LocalVector.h:12
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
float phiCh() const
Rotation angle of chamber (deg)
Definition: DTTrigGeom.h:71
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:60
float _PHICH
Definition: DTTrigGeom.h:212
const DTChamber * _stat
Definition: DTTrigGeom.h:209
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
bool _debug
Definition: DTTrigGeom.h:217
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
float _H
Definition: DTTrigGeom.h:213
const DTLayer * layer(const DTLayerId &id) const
Return the layer corresponding to the given id.
Definition: DTSuperLayer.cc:68
float _ZSL[3]
Definition: DTTrigGeom.h:215
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
float _PITCH
Definition: DTTrigGeom.h:214
int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:78
const DTTopology & specificTopology() const
Definition: DTLayer.cc:42
T mag() const
Definition: PV3DBase.h:67
float distSL() const
Distance between the phi view superlayers (cms)
Definition: DTTrigGeom.h:80
LocalPoint toLocal(const GlobalPoint &gp) const
T z() const
Definition: PV3DBase.h:64
int station() const
Return station number.
Definition: DTTrigGeom.h:63
int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:75
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:54
static int position[264][3]
Definition: ReadPGInfo.cc:509
int nCell(int sl) const
Number of BTIs in a required superlayer (i.e. nCells in lay 1)
Definition: DTTrigGeom.h:89
float ZSL(int) const
Radial coordinate in chamber frame of center of a superlayer.
Definition: DTTrigGeom.cc:266
int _NCELL[3]
Definition: DTTrigGeom.h:216
void DTTrigGeom::IEEE32toDSP ( float  f,
short int &  DSPmantissa,
short int &  DSPexp 
)

Definition at line 514 of file DTTrigGeom.cc.

References Validation_hcalonly_cfi::sign.

Referenced by CMSPosition(), and dumpLUT().

515  {
516  long int lm;
517  long int pl = 0;
518 
519  bool sign = false;
520 
521  DSPmantissa = 0;
522  DSPexp = 0;
523 
524  if (f != 0.0) {
525  memcpy(&pl, &f, sizeof(float));
526 
527  if ((pl & 0x80000000) != 0)
528  sign = true;
529  lm = (0x800000 | (pl & 0x7FFFFF)); // [1][23bit mantissa]
530  lm >>= 9; // reduce to 15bits
531  lm &= 0x7FFF;
532  DSPexp = ((pl >> 23) & 0xFF) - 126;
533  DSPmantissa = (short)lm;
534  if (sign)
535  DSPmantissa = -DSPmantissa; // convert negative value in 2.s complement
536  }
537  return;
538 }
double f[11][100]
LocalPoint DTTrigGeom::localPosition ( const DTBtiId  id) const

Local position in chamber of a BTI.

NB: attention: in NEWGEO definition has changed:

 +---------+---------+---------+
 | 1  o    | 5  o    | 9  o    |
 +----+----+----+----+----+----+
      | 3  o    |  7 o    |
 +----+----+----+----+----+ - - - -> x/-x
 | 2  o    | 6  o    |
 +----+----+----+----+----+
      | 4  o    | 8  o    |
      +---------+---------+
      ^
      |
     x=0

Definition at line 541 of file DTTrigGeom.cc.

References _stat, cellH(), cellPitch(), DTSuperLayer::layer(), phase1PixelTopology::localX(), DTLayer::specificTopology(), statId(), DTChamber::superLayer(), GeomDet::surface(), GeomDet::toGlobal(), GloballyPositioned< T >::toLocal(), and DTTopology::wirePosition().

Referenced by CMSPosition(), DTTracoChip::DTTracoChip(), dumpGeom(), dumpLUT(), DTBtiCard::localDirection(), DTBtiCard::localPosition(), DTBtiChip::localPosition(), DTTracoCard::localPosition(), DTTracoChip::localPosition(), localPosition(), and toLocal().

541  {
542  /* obsolete!
543  float x = 0;
544  float y = 0;
545  float z = ZSL(id.superlayer());
546  if(id.superlayer()==2){
547  // SL 2: Reverse numbering -------V
548  y = Xwire1BTI1SL(id.superlayer()) - ((float)(id.bti()-1)-0.5)*cellPitch();
549  } else {
550  x = Xwire1BTI1SL(id.superlayer()) + ((float)(id.bti()-1)-0.5)*cellPitch();
551  }
552  */
553 
554  // NEWGEO
555  /* int nsl = id.superlayer();
556  int tube = mapTubeInFEch(nsl,1,id.bti());
557  LocalPoint p = tubePosInCh(nsl,1,tube);
558  //traslation because z axes is in middle of SL, x/y axes on left I of first
559  cell
560 
561  LocalPoint p1 = tubePosInCh (nsl,1,1);
562  LocalPoint p2 = tubePosInCh (nsl,2,1);
563  cout << "nbti " << id.bti() << " tube " << tube << " localpoint" << p <<
564  endl; cout << "localpoint layer 1" << p1 << " localpoint layer 2" << p2 <<
565  endl;
566 
567  float xt = 0;
568  float yt = 0;
569  float zt = - cellH() * 3./2.;
570  if(nsl==2)
571  yt = - cellPitch()/2.;
572  else
573  xt = + cellPitch()/2.;
574 
575  if(posFE(nsl)==0){//FE in positive y
576  xt = - xt;
577  yt = - yt;
578  }
579 
580  cout << "localpoint " << p << ' ' << xt << ' ' << yt << endl;
581 
582  return LocalPoint(p.x()+xt,p.y()+yt,p.z()+zt);*/
583 
584  int nsl = id.superlayer();
585  const DTSuperLayer *sl = _stat->superLayer(DTSuperLayerId(statId(), nsl));
586  const DTLayer *lay = sl->layer(DTLayerId(statId(), nsl, 1));
587  int tube = id.bti();
588  float localX = lay->specificTopology().wirePosition(tube);
589  float xt = -cellPitch() / 2.;
590  float zt = -cellH() * 3. / 2.;
591  // LocalPoint posInLayer1(localX+xt,yt,0); //Correction now y is left I of
592  // first cell of layer 1 y=0 and z in the middle of SL,
593  LocalPoint posInLayer1(localX + xt, 0, zt);
594  LocalPoint posInChamber =
595  _stat->surface().toLocal(lay->toGlobal(posInLayer1));
596  // GlobalPoint posInCMS = lay->toGlobal(posInLayer1);
597 
598  /* cout <<endl;
599  cout << "tube " << ntube << " nlay " << nlay << endl;
600  cout << "posinlayer " << posInLayer1 << "posinchamb " << posInChamber <<
601  "posinCMS " << posInCMS << endl;*/
602 
603  return posInChamber;
604 }
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:65
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:86
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:77
const DTChamber * _stat
Definition: DTTrigGeom.h:209
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
const DTLayer * layer(const DTLayerId &id) const
Return the layer corresponding to the given id.
Definition: DTSuperLayer.cc:68
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
const DTTopology & specificTopology() const
Definition: DTLayer.cc:42
float cellH() const
Height of a cell (cm)
Definition: DTTrigGeom.h:74
LocalPoint toLocal(const GlobalPoint &gp) const
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:54
constexpr uint16_t localX(uint16_t px)
LocalPoint DTTrigGeom::localPosition ( const DTTracoId  id) const

Local position in chamber of a TRACO.

    NB: attention: in NEWGEO definition has changed:

    +----+----+----+----+----+----+----+----+----+----+----+----+
    |  5 |  6 |  7 |  8 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
    +----+----+----+----+----+----+----+----+----+----+----+----+
    \                                                           /
    | \                                                       /
    |   \                                                   /
    |     \                                               /
    |       \                                           /
----|------------------------------------------------------------------->
    |          \                                     /
    |            \                                 /
    |              \                             /
    |                \                         /
    |                  \                     /
    |                   +----+----+----+----+
    |                   |  1 |  2 |  3 |  4 |
    |                   +----+----+----+----+
    X=0
    ^
    |
   traco position

Definition at line 606 of file DTTrigGeom.cc.

References cellPitch(), localPosition(), DTConfig::NBTITC, sector(), station(), wheel(), x, PV3DBase< T, PVType, FrameType >::x(), y, z, and ZcenterSL().

606  {
607  /* obsolete
608  float x = Xwire1BTI1SL(1) +
609  ( ( (float)(id.traco()) - 0.5 ) * DTConfig::NBTITC - 0.5 )*cellPitch();
610  // half cell shift in SL1 of MB1 (since cmsim116)
611  if(station()==1) x -= 0.5*cellPitch();
612  float y = 0;
613  float z = ZcenterSL();
614  */
615  // NEWGEO
616  // position of first BTI in sl 3 on X
617  float x =
619  .x();
620  // 10/7/06 May be not needed anymore in new geometry
621  // if(posFE(3)==1)
622  // x -= (id.traco()-2)*DTConfig::NBTITC * cellPitch();
623  // if(posFE(3)==0)
624  x += (id.traco() - 2) * DTConfig::NBTITC * cellPitch();
625 
626  float y = 0;
627  float z = ZcenterSL();
628 
629  return LocalPoint(x, y, z);
630 }
int sector() const
Return sector number.
Definition: DTTrigGeom.h:66
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:32
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:77
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:60
float ZcenterSL() const
Coordinate of center of the 2 Phi SL.
Definition: DTTrigGeom.h:83
int station() const
Return station number.
Definition: DTTrigGeom.h:63
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:541
static const int NBTITC
Definition: DTConfig.h:38
T x() const
Definition: PV3DBase.h:62
int DTTrigGeom::mapTubeInFEch ( int  nsl,
int  nlay,
int  ntube 
) const

Staggering of first wire of layer respect to default: obsolete 19/6/06.

Map tube number into hw wire number, and reverse hw num->tube (nb NOT in bti hardware number, this depends on connectors)

Definition at line 148 of file DTTrigGeom.cc.

References gather_cfg::cout, and station().

Referenced by DTBtiCard::loadBTI(), and nCell().

148  {
149  int nch = 0;
150  if (station() == 4 && nsl == 2) {
151  std::cout << "No theta superlayer in station 4!" << std::endl;
152  } else {
153  // obsolete 19/06/2006 const DTLayer* lay =
154  // _stat->superLayer(DTSuperLayerId(statId(),nsl))->layer(DTLayerId(statId(),nsl,nlay));
155 
156  /* obsolete 19/6/06
157  if(lay->getFEPosition()==0) //FE is in Y negative: opposite
158  numbering nch = lay->specificTopology().channels() - ntube + 1;
159  // if(lay->getFEPosition()==1) //FE is in Y positive: same
160  numbering digi-trig
161  // nch = ntube;
162  // }
163  */
164  // in new geometry depends on SL: theta tube numbering is reverted wrt
165  // hardware
166  nch = ntube;
167  /* if(nsl==2){
168  nch = lay->specificTopology().channels() - ntube + 1;
169  }*/
170  }
171  return nch;
172 }
int station() const
Return station number.
Definition: DTTrigGeom.h:63
int DTTrigGeom::nCell ( int  sl) const
inline

Number of BTIs in a required superlayer (i.e. nCells in lay 1)

Definition at line 89 of file DTTrigGeom.h.

References _NCELL, mapTubeInFEch(), phiSLOffset(), posFE(), and tubePosInCh().

Referenced by DTBtiCard::activeGetBTI(), DTBtiChip::add_digi(), dumpGeom(), getGeom(), and DTBtiChip::run().

89  {
90  return (sl > 0 && sl <= 3) * _NCELL[sl - 1];
91  }
int _NCELL[3]
Definition: DTTrigGeom.h:216
float DTTrigGeom::phiCh ( ) const
inline

Rotation angle of chamber (deg)

Definition at line 71 of file DTTrigGeom.h.

References _PHICH.

Referenced by DTTracoChip::calculateAngles(), dumpGeom(), dumpLUT(), and getGeom().

71 { return _PHICH; }
float _PHICH
Definition: DTTrigGeom.h:212
float DTTrigGeom::phiSLOffset ( )

Superlayer offset in chamber front-end frame, in cm.

Definition at line 68 of file DTTrigGeom.cc.

References PFRecoTauDiscriminationByIsolation_cfi::offset, tubePosInCh(), PV3DBase< T, PVType, FrameType >::x(), and globals_cff::x1.

Referenced by DTTracoChip::DTTracoChip(), nCell(), and DTTracoChip::setTracoAcceptances().

68  {
69  // sl1 offset respect to sl3 - in Front End view!!
70  float x1 = tubePosInCh(1, 1, 1).x();
71  float x3 = tubePosInCh(3, 1, 1).x();
72  float offset = x1 - x3;
73  // if(posFE(1)==1) // Obsolete in
74  // offset = - offset; // CMSSW
75 
76  return offset;
77 }
LocalPoint tubePosInCh(int nsl, int nlay, int ntube) const
Wire position in chamber frame.
Definition: DTTrigGeom.cc:174
T x() const
Definition: PV3DBase.h:62
int DTTrigGeom::posFE ( int  sl) const

Front End position : 1=toward negative y, 0=toward positive y.

Definition at line 196 of file DTTrigGeom.cc.

References gather_cfg::cout, and station().

Referenced by nCell().

196  {
197  if (station() != 4 || sl != 2) {
198  // obsolete 19/0602006 const DTLayer* lay =
199  // _stat->superLayer(DTSuperLayerId(statId(),sl))->layer(DTLayerId(statId(),sl,1));
200  return 1 /*lay->getFEPosition()*/;
201  } else {
202  std::cout << "No theta superlayer in station 4!" << std::endl;
203  return 0;
204  }
205 }
int station() const
Return station number.
Definition: DTTrigGeom.h:63
int DTTrigGeom::sector ( void  ) const
inline

Return sector number.

Definition at line 66 of file DTTrigGeom.h.

References _stat, DTChamber::id(), and DTChamberId::sector().

Referenced by dumpGeom(), dumpLUT(), getGeom(), geometryXMLparser.DTAlignable::index(), localPosition(), DTGeomSupplier::sector(), DTSCTrigUnit::sector(), DTTracoChip::sector(), and DTBtiChip::sector().

66 { return _stat->id().sector(); }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:33
int sector() const
Definition: DTChamberId.h:61
void DTTrigGeom::setGeom ( const DTChamber stat)

Set/Update Geometry.

Definition at line 207 of file DTTrigGeom.cc.

References _stat, getGeom(), and stat().

Referenced by DTSCTrigUnit::setGeom(), and statId().

207  {
208 
209  _stat = stat;
210  getGeom();
211 }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
void getGeom()
Get the geometry from the station.
Definition: DTTrigGeom.cc:213
const DTChamber * stat() const
Associated chamber.
Definition: DTTrigGeom.h:51
const DTChamber* DTTrigGeom::stat ( ) const
inline

Associated chamber.

Definition at line 51 of file DTTrigGeom.h.

References _stat.

Referenced by setGeom(), DTGeomSupplier::stat(), and DTSCTrigUnit::stat().

51 { return _stat; }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
DTChamberId DTTrigGeom::statId ( ) const
inline

Identifier of the associated chamber.

Definition at line 54 of file DTTrigGeom.h.

References _stat, DTChamber::id(), and setGeom().

Referenced by DTBtiCard::activeGetBTI(), DTTracoCard::activeGetTRACO(), DTGeomSupplier::ChamberId(), DTBtiChip::DTBtiChip(), DTTracoChip::DTTracoChip(), dumpGeom(), dumpLUT(), getGeom(), localPosition(), DTSCTrigUnit::statId(), and tubePosInCh().

54 { return _stat->id(); }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:33
int DTTrigGeom::station ( ) const
inline

Return station number.

Definition at line 63 of file DTTrigGeom.h.

References _stat, DTChamber::id(), and DTChamberId::station().

Referenced by dumpGeom(), dumpLUT(), getGeom(), geometryXMLparser.DTAlignable::index(), geometryXMLparser.CSCAlignable::index(), localPosition(), mapTubeInFEch(), posFE(), DTGeomSupplier::station(), DTSCTrigUnit::station(), DTTracoChip::station(), and DTBtiChip::station().

63 { return _stat->id().station(); }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:33
int station() const
Return the station number.
Definition: DTChamberId.h:51
GlobalPoint DTTrigGeom::toGlobal ( const LocalPoint  p) const
inline

Go to CMS coordinate system for a point.

Definition at line 113 of file DTTrigGeom.h.

References _stat, GeomDet::surface(), and Surface::toGlobal().

Referenced by DTGeomSupplier::CMSDirection(), DTGeomSupplier::CMSPosition(), CMSPosition(), and dumpLUT().

113  {
114  return _stat->surface().toGlobal(p);
115  }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
const DTChamber * _stat
Definition: DTTrigGeom.h:209
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
GlobalVector DTTrigGeom::toGlobal ( const LocalVector  v) const
inline

Go to CMS coordinate system for a vector.

Definition at line 118 of file DTTrigGeom.h.

References _stat, GeomDet::surface(), and Surface::toGlobal().

118  {
119  return _stat->surface().toGlobal(v);
120  }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
const DTChamber * _stat
Definition: DTTrigGeom.h:209
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
LocalPoint DTTrigGeom::toLocal ( const GlobalPoint  p) const
inline

Go to Local coordinate system for a point.

Definition at line 123 of file DTTrigGeom.h.

References _stat, GeomDet::surface(), and GloballyPositioned< T >::toLocal().

123  {
124  return _stat->surface().toLocal(p);
125  }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
LocalPoint toLocal(const GlobalPoint &gp) const
LocalVector DTTrigGeom::toLocal ( const GlobalVector  v) const
inline

Go to Local coordinate system for a vector.

Definition at line 128 of file DTTrigGeom.h.

References _stat, localPosition(), GeomDet::surface(), and GloballyPositioned< T >::toLocal().

128  {
129  return _stat->surface().toLocal(v);
130  }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
LocalPoint toLocal(const GlobalPoint &gp) const
LocalPoint DTTrigGeom::tubePosInCh ( int  nsl,
int  nlay,
int  ntube 
) const

Wire position in chamber frame.

Definition at line 174 of file DTTrigGeom.cc.

References _stat, gather_cfg::cout, DTSuperLayer::layer(), phase1PixelTopology::localX(), DTLayer::specificTopology(), statId(), DTChamber::superLayer(), GeomDet::surface(), GeomDet::toGlobal(), GloballyPositioned< T >::toLocal(), and DTTopology::wirePosition().

Referenced by dumpGeom(), nCell(), and phiSLOffset().

174  {
175  if (nlay == 4 && ntube == 1) {
176  std::cout << "ATTENTION: no wire nuber 1 for 4th layer!!!" << std::endl;
177  LocalPoint dummyLP(0, 0, 0);
178  return dummyLP;
179  }
180  const DTSuperLayer *sl = _stat->superLayer(DTSuperLayerId(statId(), nsl));
181  const DTLayer *lay = sl->layer(DTLayerId(statId(), nsl, nlay));
182 
183  float localX = lay->specificTopology().wirePosition(ntube);
184  LocalPoint posInLayer(localX, 0, 0);
185  LocalPoint posInChamber = _stat->surface().toLocal(lay->toGlobal(posInLayer));
186  // obsolete 19/06/2006 GlobalPoint posInCMS = lay->toGlobal(posInLayer);
187 
188  /* cout <<endl;
189  cout << "tube " << ntube << " nlay " << nlay << endl;
190  cout << "posinlayer " << posInLayer << "posinchamb " << posInChamber <<
191  "posinCMS " << posInCMS << endl;*/
192 
193  return posInChamber;
194 }
const DTSuperLayer * superLayer(const DTSuperLayerId &id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:65
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:86
const DTChamber * _stat
Definition: DTTrigGeom.h:209
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:54
const DTLayer * layer(const DTLayerId &id) const
Return the layer corresponding to the given id.
Definition: DTSuperLayer.cc:68
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:42
const DTTopology & specificTopology() const
Definition: DTLayer.cc:42
LocalPoint toLocal(const GlobalPoint &gp) const
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:54
constexpr uint16_t localX(uint16_t px)
int DTTrigGeom::wheel ( ) const
inline

Return wheel number.

Definition at line 60 of file DTTrigGeom.h.

References _stat, DTChamber::id(), and DTChamberId::wheel().

Referenced by dumpGeom(), dumpLUT(), getGeom(), geometryXMLparser.DTAlignable::index(), localPosition(), DTGeomSupplier::wheel(), DTSCTrigUnit::wheel(), DTTracoChip::wheel(), and DTBtiChip::wheel().

60 { return _stat->id().wheel(); }
const DTChamber * _stat
Definition: DTTrigGeom.h:209
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:33
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:45
float DTTrigGeom::ZcenterSL ( ) const
inline

Coordinate of center of the 2 Phi SL.

Definition at line 83 of file DTTrigGeom.h.

References _ZSL, and ZSL().

Referenced by dumpLUT(), and localPosition().

83 { return 0.5 * (_ZSL[2] + _ZSL[0]); }
float _ZSL[3]
Definition: DTTrigGeom.h:215
float DTTrigGeom::ZSL ( int  sl) const

Radial coordinate in chamber frame of center of a superlayer.

Definition at line 266 of file DTTrigGeom.cc.

References _ZSL, and gather_cfg::cout.

Referenced by dumpGeom(), getGeom(), and ZcenterSL().

266  {
267  if (sl < 1 || sl > 3) {
268  std::cout << "DTTrigGeom::ZSL: wrong SL number: " << sl;
269  std::cout << -999 << " returned" << std::endl;
270  return -999;
271  }
272  return _ZSL[sl - 1];
273 }
float _ZSL[3]
Definition: DTTrigGeom.h:215

Member Data Documentation

bool DTTrigGeom::_debug
private
float DTTrigGeom::_H
private

Definition at line 213 of file DTTrigGeom.h.

Referenced by cellH(), and getGeom().

int DTTrigGeom::_NCELL[3]
private

Definition at line 216 of file DTTrigGeom.h.

Referenced by getGeom(), and nCell().

float DTTrigGeom::_PHICH
private

Definition at line 212 of file DTTrigGeom.h.

Referenced by getGeom(), and phiCh().

float DTTrigGeom::_PITCH
private

Definition at line 214 of file DTTrigGeom.h.

Referenced by cellPitch(), and getGeom().

const DTChamber* DTTrigGeom::_stat
private
float DTTrigGeom::_ZSL[3]
private

Definition at line 215 of file DTTrigGeom.h.

Referenced by distSL(), getGeom(), ZcenterSL(), and ZSL().