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

Date:
2008/09/05 15:52:40
Revision:
1.7
Author
C.Grandi S.Vanini

Definition at line 43 of file DTTrigGeom.h.

Constructor & Destructor Documentation

DTTrigGeom::DTTrigGeom ( DTChamber stat,
bool  debug 
)

Constructor.

Definition at line 51 of file DTTrigGeom.cc.

References getGeom().

51  : _stat(stat) , _debug(debug) {
52 
53  getGeom();
54 
55 }
const DTChamber * _stat
Definition: DTTrigGeom.h:207
bool _debug
Definition: DTTrigGeom.h:215
void getGeom()
Get the geometry from the station.
Definition: DTTrigGeom.cc:210
#define debug
Definition: MEtoEDMFormat.h:34
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 77 of file DTTrigGeom.h.

References _H.

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

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

CMS position of a BTI.

Definition at line 184 of file DTTrigGeom.h.

References localPosition(), and toGlobal().

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

184  {
185  return toGlobal(localPosition(obj));
186  }
GlobalPoint toGlobal(const LocalPoint p) const
Go to CMS coordinate system for a point.
Definition: DTTrigGeom.h:117
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:488
GlobalPoint DTTrigGeom::CMSPosition ( const DTTracoId  obj) const
inline

CMS position of a TRACO.

Definition at line 189 of file DTTrigGeom.h.

References localPosition(), and toGlobal().

189  {
190  return toGlobal(localPosition(obj));
191  }
GlobalPoint toGlobal(const LocalPoint p) const
Go to CMS coordinate system for a point.
Definition: DTTrigGeom.h:117
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:488
float DTTrigGeom::distSL ( ) const
inline

Distance between the phi view superlayers (cms)

Definition at line 83 of file DTTrigGeom.h.

References _ZSL.

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

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

Dump the geometry.

Definition at line 278 of file DTTrigGeom.cc.

References _stat, CMSPosition(), gather_cfg::cout, 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 DTSCTrigUnit::dumpGeom().

278  {
279  std::cout << "Identification: wheel=" << wheel();
280  std::cout << ", station=" << station();
281  std::cout << ", sector=" << sector() << std::endl;
283  std::cout << "Position: Mag=" << pp.mag() << "cm, Phi=" << pp.phi()*180/3.14159;
284  std::cout << " deg, Z=" << pp.z() << " cm" << std::endl;
285  std::cout << "Rotation: ANGLE=" << phiCh()*180/3.14159 << std::endl;
286  std::cout << "Z of superlayers: phi=" << ZSL(1) << ", ";
287  std::cout << ZSL(3) << " theta=" << ZSL(2) << std::endl;
288  std::cout << "Number of cells: SL1=" << nCell(1) << " SL2=" << nCell(2) <<
289  " SL3=" << nCell(3) << std::endl;
290  std::cout << "First wire positions:" << std::endl;
291  int ii=0;
292  int jj=0;
293  for( ii = 1; ii<=3; ii++ ) {
294  if(station()!=4||ii!=2){
295  for ( jj =1; jj<=4; jj++ ) {
296  std::cout << " SL=" << ii << ", lay=" << jj << ", wire 1 position=";
297  if ( jj ==4)
298  std::cout << tubePosInCh( ii, jj, 2) << std::endl;
299  else
300  std::cout << tubePosInCh( ii, jj, 1) << std::endl;
301  }
302  }
303  }
304 
305  GlobalPoint gp1 = CMSPosition(DTBtiId(statId(),1,1));
306 
307 
308  std::cout << "First BTI position:";
309  std::cout << " SL1:" << localPosition(DTBtiId(statId(),1,1)) << std::endl;
310  std::cout << " Position: R=" << gp1.perp() << "cm, Phi=" << gp1.phi()*180/3.14159 << " deg, Z=" << gp1.z() << " cm" << std::endl;
311 
312  if(station()!=4)
313  {
314  GlobalPoint gp2 = CMSPosition(DTBtiId(statId(),2,1));
315  std::cout << " SL2:" << localPosition(DTBtiId(statId(),2,1))<< std::endl;
316  std::cout << " Position: R=" << gp2.perp() << "cm, Phi=" << gp2.phi()*180/3.14159 << " 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() << "cm, Phi=" << gp3.phi()*180/3.14159 << " deg, Z=" << gp3.z() << " cm" << std::endl;
322 
323  std::cout << "First TRACO position:";
324  std::cout << localPosition(DTTracoId(statId(),1)) << std::endl;
325  std::cout << "******************************************************" << std::endl;
326 }
int sector() const
Return sector number.
Definition: DTTrigGeom.h:69
float phiCh() const
Rotation angle of chamber (deg)
Definition: DTTrigGeom.h:74
T perp() const
Definition: PV3DBase.h:66
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:63
tuple pp
Definition: createTree.py:15
const DTChamber * _stat
Definition: DTTrigGeom.h:207
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
Geom::Phi< T > phi() const
Definition: PV3DBase.h:63
T mag() const
Definition: PV3DBase.h:61
T z() const
Definition: PV3DBase.h:58
int station() const
Return station number.
Definition: DTTrigGeom.h:66
LocalPoint tubePosInCh(int nsl, int nlay, int ntube) const
Wire position in chamber frame.
Definition: DTTrigGeom.cc:168
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:57
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:488
Local3DPoint LocalPoint
Definition: LocalPoint.h:11
tuple cout
Definition: gather_cfg.py:41
GlobalPoint CMSPosition(const DTBtiId obj) const
CMS position of a BTI.
Definition: DTTrigGeom.h:184
int nCell(int sl) const
Number of BTIs in a required superlayer (i.e. nCells in lay 1)
Definition: DTTrigGeom.h:92
float ZSL(int) const
Radial coordinate in chamber frame of center of a superlayer.
Definition: DTTrigGeom.cc:267
void DTTrigGeom::dumpLUT ( short int  btic)

Dump the LUT for this chamber.

Definition at line 329 of file DTTrigGeom.cc.

References _stat, diffTreeTool::diff, DTSuperLayerId, makeHLTPrescaleTable::fout, IEEE32toDSP(), localPosition(), m, mergeVDriftHistosByStation::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 DTSCTrigUnit::dumpLUT().

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

Get the geometry from the station.

Definition at line 210 of file DTTrigGeom.cc.

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

Referenced by DTTrigGeom(), and setGeom().

210  {
211 
212  // Geometrical constants of chamber
213  // Cell width (cm)
214  _PITCH = 4.2;
215  // Cell height (cm)
216  _H = 1.3;
217  // azimuthal angle of normal to the chamber
218  _PHICH = _stat->surface().toGlobal(LocalVector(0,0,-1)).phi();
219 
220  // superlayer positions and number of cells
221  DTSuperLayer* sl[3];
222  DTLayer* l1[3];
223  DTLayer* l3[3];
224  int i = 0;
225  for(i=0; i<3; i++) {
226  if(station()==4&&i==1) { // No theta SL in MB4
227  _ZSL[i] = -999;
228  _NCELL[i] = 0;
229  } else {
231  l1[i] = (DTLayer*) sl[i]->layer(DTLayerId(statId(),i+1,1));
232  l3[i] = (DTLayer*) sl[i]->layer(DTLayerId(statId(),i+1,3));
233  _ZSL[i] = _stat->surface().toLocal(sl[i]->position()).z(); // - 1.5 * _H;
234  //LocalPoint posInLayer=l1[i]->layType()->getWire(1)->positionInLayer();
235  const DTTopology& tp=l1[i]->specificTopology();
236  float posX=tp.wirePosition(tp.firstChannel());
237  LocalPoint posInLayer(posX,0,0);
238  LocalPoint posInChamber=_stat->surface().toLocal(l1[i]->surface().toGlobal(posInLayer));
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) << std::setw(4) <<
246  std::setprecision(1);
247  std::cout << "Identification: wheel=" << wheel();
248  std::cout << ", station=" << station();
249  std::cout << ", sector=" << sector() << std::endl;
251  std::cout << "Position: Mag=" << pp.mag() << "cm, Phi=" << pp.phi()*180/3.14159;
252  std::cout << " deg, Z=" << pp.z() << " cm" << std::endl;
253  std::cout << "Rotation: ANGLE=" << phiCh()*180/3.14159 << std::endl;
254  //if(wheel()==2&&sector()==2){ // only 1 sector-wheel
255  std::cout << "Z of superlayers: phi=" << ZSL(1) << ", ";
256  std::cout << ZSL(3) << " theta=" << ZSL(2);
257  std::cout << " (DeltaY = " << distSL() << ")" << std::endl;
258  std::cout << " ncell: sl 1 " << nCell(1) << " sl 2 " << nCell(2) <<
259  " sl 3 " << nCell(3) << std::endl;
260  //}
261  }
262  // end debugging
263 
264 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
int sector() const
Return sector number.
Definition: DTTrigGeom.h:69
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:73
int i
Definition: DBlmapReader.cc:9
Local3DVector LocalVector
Definition: LocalVector.h:12
float phiCh() const
Rotation angle of chamber (deg)
Definition: DTTrigGeom.h:74
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:63
tuple pp
Definition: createTree.py:15
const int channels() const
Returns the number of wires in the layer.
Definition: DTTopology.h:77
float _PHICH
Definition: DTTrigGeom.h:210
const DTChamber * _stat
Definition: DTTrigGeom.h:207
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
bool _debug
Definition: DTTrigGeom.h:215
Geom::Phi< T > phi() const
Definition: PV3DBase.h:63
float _H
Definition: DTTrigGeom.h:211
GlobalPoint toGlobal(const LocalPoint p) const
Go to CMS coordinate system for a point.
Definition: DTTrigGeom.h:117
float _ZSL[3]
Definition: DTTrigGeom.h:213
const int firstChannel() const
Returns the wire number of the first wire.
Definition: DTTopology.h:80
static int position[TOTALCHAMBERS][3]
Definition: ReadPGInfo.cc:509
float _PITCH
Definition: DTTrigGeom.h:212
const DTTopology & specificTopology() const
Definition: DTLayer.cc:44
T mag() const
Definition: PV3DBase.h:61
float distSL() const
Distance between the phi view superlayers (cms)
Definition: DTTrigGeom.h:83
LocalPoint toLocal(const GlobalPoint &gp) const
T z() const
Definition: PV3DBase.h:58
int station() const
Return station number.
Definition: DTTrigGeom.h:66
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:57
Local3DPoint LocalPoint
Definition: LocalPoint.h:11
tuple cout
Definition: gather_cfg.py:41
int nCell(int sl) const
Number of BTIs in a required superlayer (i.e. nCells in lay 1)
Definition: DTTrigGeom.h:92
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
float ZSL(int) const
Radial coordinate in chamber frame of center of a superlayer.
Definition: DTTrigGeom.cc:267
int _NCELL[3]
Definition: DTTrigGeom.h:214
const DTSuperLayer * superLayer(DTSuperLayerId id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:67
void DTTrigGeom::IEEE32toDSP ( float  f,
short int &  DSPmantissa,
short int &  DSPexp 
)

Definition at line 461 of file DTTrigGeom.cc.

Referenced by dumpLUT().

462 {
463  long int *pl=0, lm;
464  bool sign=false;
465 
466  DSPmantissa = 0;
467  DSPexp = 0;
468 
469  if( f!=0.0 )
470  {
471  memcpy(pl,&f,sizeof(float));
472  if((*pl & 0x80000000)!=0)
473  sign=true;
474  lm = ( 0x800000 | (*pl & 0x7FFFFF)); // [1][23bit mantissa]
475  lm >>= 9; //reduce to 15bits
476  lm &= 0x7FFF;
477  DSPexp = ((*pl>>23)&0xFF)-126;
478  DSPmantissa = (short)lm;
479  if(sign)
480  DSPmantissa = - DSPmantissa; // convert negative value in 2.s complement
481 
482  }
483  return;
484 }
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 488 of file DTTrigGeom.cc.

References _stat, cellH(), cellPitch(), DTLayerId, DTSuperLayerId, DTSuperLayer::layer(), 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(), and localPosition().

488  {
489 /* obsolete!
490  float x = 0;
491  float y = 0;
492  float z = ZSL(id.superlayer());
493  if(id.superlayer()==2){
494  // SL 2: Reverse numbering -------V
495  y = Xwire1BTI1SL(id.superlayer()) - ((float)(id.bti()-1)-0.5)*cellPitch();
496  } else {
497  x = Xwire1BTI1SL(id.superlayer()) + ((float)(id.bti()-1)-0.5)*cellPitch();
498  }
499 */
500 
501 //NEWGEO
502 /* int nsl = id.superlayer();
503  int tube = mapTubeInFEch(nsl,1,id.bti());
504  LocalPoint p = tubePosInCh(nsl,1,tube);
505  //traslation because z axes is in middle of SL, x/y axes on left I of first cell
506 
507  LocalPoint p1 = tubePosInCh (nsl,1,1);
508  LocalPoint p2 = tubePosInCh (nsl,2,1);
509  cout << "nbti " << id.bti() << " tube " << tube << " localpoint" << p << endl;
510  cout << "localpoint layer 1" << p1 << " localpoint layer 2" << p2 << endl;
511 
512  float xt = 0;
513  float yt = 0;
514  float zt = - cellH() * 3./2.;
515  if(nsl==2)
516  yt = - cellPitch()/2.;
517  else
518  xt = + cellPitch()/2.;
519 
520  if(posFE(nsl)==0){//FE in positive y
521  xt = - xt;
522  yt = - yt;
523  }
524 
525  cout << "localpoint " << p << ' ' << xt << ' ' << yt << endl;
526 
527  return LocalPoint(p.x()+xt,p.y()+yt,p.z()+zt);*/
528 
529  int nsl = id.superlayer();
530  const DTSuperLayer* sl = _stat->superLayer(DTSuperLayerId(statId(),nsl));
531  const DTLayer* lay = sl->layer(DTLayerId(statId(),nsl,1));
532  int tube = id.bti();
533  float localX = lay->specificTopology().wirePosition(tube);
534  float xt = -cellPitch()/2.;
535  float zt = -cellH() * 3./2.;
536  //LocalPoint posInLayer1(localX+xt,yt,0); //Correction now y is left I of first cell of layer 1 y=0 and z in the middle of SL,
537  LocalPoint posInLayer1(localX+xt,0,zt);
538  LocalPoint posInChamber = _stat->surface().toLocal(lay->toGlobal(posInLayer1));
539  //GlobalPoint posInCMS = lay->toGlobal(posInLayer1);
540 
541  /* cout <<endl;
542  cout << "tube " << ntube << " nlay " << nlay << endl;
543  cout << "posinlayer " << posInLayer1 << "posinchamb " << posInChamber << "posinCMS " << posInCMS << endl;*/
544 
545  return posInChamber;
546 }
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:73
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:80
const DTChamber * _stat
Definition: DTTrigGeom.h:207
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
DTSuperLayerId
const DTTopology & specificTopology() const
Definition: DTLayer.cc:44
float cellH() const
Height of a cell (cm)
Definition: DTTrigGeom.h:77
LocalPoint toLocal(const GlobalPoint &gp) const
const DTLayer * layer(DTLayerId id) const
Return the layer corresponding to the given id.
Definition: DTSuperLayer.cc:70
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:57
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
const DTSuperLayer * superLayer(DTSuperLayerId id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:67
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 549 of file DTTrigGeom.cc.

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

549  {
550 /* obsolete
551  float x = Xwire1BTI1SL(1) +
552  ( ( (float)(id.traco()) - 0.5 ) * DTConfig::NBTITC - 0.5 )*cellPitch();
553  // half cell shift in SL1 of MB1 (since cmsim116)
554  if(station()==1) x -= 0.5*cellPitch();
555  float y = 0;
556  float z = ZcenterSL();
557 */
558  //NEWGEO
559  // position of first BTI in sl 3 on X
560  float x = localPosition( DTBtiId(DTSuperLayerId(wheel(),station(),sector(),3),1) ).x();
561 // 10/7/06 May be not needed anymore in new geometry
562 // if(posFE(3)==1)
563 // x -= (id.traco()-2)*DTConfig::NBTITC * cellPitch();
564 // if(posFE(3)==0)
565  x += (id.traco()-2)*DTConfig::NBTITC * cellPitch();
566 
567  float y = 0;
568  float z = ZcenterSL();
569 
570  return LocalPoint(x,y,z);
571 }
int sector() const
Return sector number.
Definition: DTTrigGeom.h:69
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:80
int wheel() const
Return wheel number.
Definition: DTTrigGeom.h:63
DTSuperLayerId
double double double z
float ZcenterSL() const
Coordinate of center of the 2 Phi SL.
Definition: DTTrigGeom.h:86
int station() const
Return station number.
Definition: DTTrigGeom.h:66
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:488
Local3DPoint LocalPoint
Definition: LocalPoint.h:11
Definition: DDAxes.h:10
static const int NBTITC
Definition: DTConfig.h:38
T x() const
Definition: PV3DBase.h:56
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 143 of file DTTrigGeom.cc.

References gather_cfg::cout, and station().

Referenced by DTBtiCard::loadBTI().

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

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

Definition at line 92 of file DTTrigGeom.h.

References _NCELL.

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

92  {
93  return (sl>0&&sl<=3)*_NCELL[sl-1];
94  }
int _NCELL[3]
Definition: DTTrigGeom.h:214
float DTTrigGeom::phiCh ( ) const
inline

Rotation angle of chamber (deg)

Definition at line 74 of file DTTrigGeom.h.

References _PHICH.

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

74 { return _PHICH; }
float _PHICH
Definition: DTTrigGeom.h:210
float DTTrigGeom::phiSLOffset ( )

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

Definition at line 70 of file DTTrigGeom.cc.

References evf::evtn::offset(), tubePosInCh(), and PV3DBase< T, PVType, FrameType >::x().

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

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

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

Definition at line 190 of file DTTrigGeom.cc.

References gather_cfg::cout, and station().

190  {
191  if( station()!=4 || sl!=2 ) {
192  // obsolete 19/0602006 const DTLayer* lay = _stat->superLayer(DTSuperLayerId(statId(),sl))->layer(DTLayerId(statId(),sl,1));
193  return 1/*lay->getFEPosition()*/;
194  }
195  else{
196  std::cout << "No theta superlayer in station 4!" << std::endl;
197  return 0;
198  }
199 }
int station() const
Return station number.
Definition: DTTrigGeom.h:66
tuple cout
Definition: gather_cfg.py:41
int DTTrigGeom::sector ( void  ) const
inline

Return sector number.

Definition at line 69 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().

69 { return _stat->id().sector(); }
const DTChamber * _stat
Definition: DTTrigGeom.h:207
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:35
int sector() const
Definition: DTChamberId.h:63
void DTTrigGeom::setGeom ( const DTChamber stat)

Set/Update Geometry.

Definition at line 202 of file DTTrigGeom.cc.

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

Referenced by DTSCTrigUnit::setGeom().

202  {
203 
204  _stat=stat;
205  getGeom();
206 
207 }
const DTChamber * _stat
Definition: DTTrigGeom.h:207
void getGeom()
Get the geometry from the station.
Definition: DTTrigGeom.cc:210
const DTChamber * stat() const
Associated chamber.
Definition: DTTrigGeom.h:54
const DTChamber* DTTrigGeom::stat ( ) const
inline

Associated chamber.

Definition at line 54 of file DTTrigGeom.h.

References _stat.

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

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

Identifier of the associated chamber.

Definition at line 57 of file DTTrigGeom.h.

References _stat, and DTChamber::id().

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

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

Return station number.

Definition at line 66 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().

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

Go to CMS coordinate system for a point.

Definition at line 117 of file DTTrigGeom.h.

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

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

117 { return _stat->surface().toGlobal(p); }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
const DTChamber * _stat
Definition: DTTrigGeom.h:207
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
GlobalVector DTTrigGeom::toGlobal ( const LocalVector  v) const
inline

Go to CMS coordinate system for a vector.

Definition at line 120 of file DTTrigGeom.h.

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

120 { return _stat->surface().toGlobal(v); }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
const DTChamber * _stat
Definition: DTTrigGeom.h:207
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
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 { return _stat->surface().toLocal(p); }
const DTChamber * _stat
Definition: DTTrigGeom.h:207
LocalPoint toLocal(const GlobalPoint &gp) const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
LocalVector DTTrigGeom::toLocal ( const GlobalVector  v) const
inline

Go to Local coordinate system for a vector.

Definition at line 126 of file DTTrigGeom.h.

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

126 { return _stat->surface().toLocal(v); }
const DTChamber * _stat
Definition: DTTrigGeom.h:207
LocalPoint toLocal(const GlobalPoint &gp) const
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
LocalPoint DTTrigGeom::tubePosInCh ( int  nsl,
int  nlay,
int  ntube 
) const

Wire position in chamber frame.

Definition at line 168 of file DTTrigGeom.cc.

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

Referenced by dumpGeom(), and phiSLOffset().

168  {
169  if ( nlay==4 && ntube==1) {
170  std::cout << "ATTENTION: no wire nuber 1 for 4th layer!!!" << std::endl;
171  LocalPoint dummyLP(0,0,0);
172  return dummyLP;
173  }
174  const DTSuperLayer* sl = _stat->superLayer(DTSuperLayerId(statId(),nsl));
175  const DTLayer* lay = sl->layer(DTLayerId(statId(),nsl,nlay));
176 
177  float localX = lay->specificTopology().wirePosition(ntube);
178  LocalPoint posInLayer(localX,0,0);
179  LocalPoint posInChamber = _stat->surface().toLocal(lay->toGlobal(posInLayer));
180  //obsolete 19/06/2006 GlobalPoint posInCMS = lay->toGlobal(posInLayer);
181 
182  /* cout <<endl;
183  cout << "tube " << ntube << " nlay " << nlay << endl;
184  cout << "posinlayer " << posInLayer << "posinchamb " << posInChamber << "posinCMS " << posInCMS << endl;*/
185 
186  return posInChamber;
187 }
float wirePosition(int wireNumber) const
Returns the x position in the layer of a given wire number.
Definition: DTTopology.cc:73
const DTChamber * _stat
Definition: DTTrigGeom.h:207
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
DTSuperLayerId
const DTTopology & specificTopology() const
Definition: DTLayer.cc:44
LocalPoint toLocal(const GlobalPoint &gp) const
const DTLayer * layer(DTLayerId id) const
Return the layer corresponding to the given id.
Definition: DTSuperLayer.cc:70
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:57
tuple cout
Definition: gather_cfg.py:41
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
const DTSuperLayer * superLayer(DTSuperLayerId id) const
Return the superlayer corresponding to the given id.
Definition: DTChamber.cc:67
int DTTrigGeom::wheel ( ) const
inline

Return wheel number.

Definition at line 63 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().

63 { return _stat->id().wheel(); }
const DTChamber * _stat
Definition: DTTrigGeom.h:207
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:35
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:47
float DTTrigGeom::ZcenterSL ( ) const
inline

Coordinate of center of the 2 Phi SL.

Definition at line 86 of file DTTrigGeom.h.

References _ZSL.

Referenced by dumpLUT(), and localPosition().

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

Radial coordinate in chamber frame of center of a superlayer.

Definition at line 267 of file DTTrigGeom.cc.

References _ZSL, and gather_cfg::cout.

Referenced by dumpGeom(), and getGeom().

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

Member Data Documentation

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

Definition at line 211 of file DTTrigGeom.h.

Referenced by cellH(), and getGeom().

int DTTrigGeom::_NCELL[3]
private

Definition at line 214 of file DTTrigGeom.h.

Referenced by getGeom(), and nCell().

float DTTrigGeom::_PHICH
private

Definition at line 210 of file DTTrigGeom.h.

Referenced by getGeom(), and phiCh().

float DTTrigGeom::_PITCH
private

Definition at line 212 of file DTTrigGeom.h.

Referenced by cellPitch(), and getGeom().

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

Definition at line 213 of file DTTrigGeom.h.

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