ATLAS Offline Software
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
MuonChamberProjectionHelper Class Reference

#include <MuonChamberProjectionHelper.h>

Inheritance diagram for MuonChamberProjectionHelper:
Collaboration diagram for MuonChamberProjectionHelper:

Classes

class  Imp
 

Public Member Functions

 MuonChamberProjectionHelper (StoreGateSvc *detectorStore)
 
 MuonChamberProjectionHelper (IVP1System *sys)
 
 ~MuonChamberProjectionHelper ()
 
bool isKnownMDTChamber (const GeoPVConstLink &mdtChamber)
 
bool getDistancesToMDTChamberWallsAlongLine (const GeoPVConstLink &mdtChamber, const Amg::Vector3D &point, const Amg::Vector3D &lineDirection, double &distanceToFirstEndPlane, double &distanceToSecondEndPlane, const double &radius=0.0)
 
bool projectAndConstrainLineSegmentToMDTChamberEndWalls (const GeoPVConstLink &mdtChamber, const Amg::Vector3D &pointA, const Amg::Vector3D &pointB, Amg::Vector3D &firstEndWall_pointA, Amg::Vector3D &firstEndWall_pointB, Amg::Vector3D &secondEndWall_pointA, Amg::Vector3D &secondEndWall_pointB, bool &outsidechamber)
 
bool clipLineSegmentToMDTChamber (const GeoPVConstLink &mdtChamber, Amg::Vector3D &pointA, Amg::Vector3D &pointB, bool &outsidechamber, const double &extradist=0.0)
 
void setSystemBasePointer (IVP1System *sys)
 
void message (const QString &) const
 
void message (const QStringList &, const QString &addtoend="") const
 
void message (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
void messageDebug (const QString &) const
 
void messageDebug (const QStringList &, const QString &addtoend="") const
 
void messageDebug (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
void messageVerbose (const QString &) const
 
void messageVerbose (const QStringList &, const QString &addtoend="") const
 
void messageVerbose (const QString &addtostart, const QStringList &, const QString &addtoend="") const
 
IVP1SystemsystemBase () const
 
QString helperClassName () const
 

Static Public Member Functions

static Amg::Vector3DapplyTransformToVector (const Amg::Transform3D &m, Amg::Vector3D &v)
 
static bool verbose ()
 
static void warnUndeletedInstances ()
 
static QString str (const QString &s)
 
static QString str (const char *c)
 
static QString str (const bool b)
 
static QString str (const QColor &)
 
static QString str (const SbColor &)
 
static QString str (const VP1Interval &)
 
static QString str (const SbVec2d &)
 
static QString str (const SbVec2f &)
 
static QString str (const SbVec2s &)
 
static QString str (const SbVec3d &)
 
static QString str (const SbVec3f &)
 
static QString str (const SbVec3s &)
 
static QString str (const SbVec4d &)
 
static QString str (const SbVec4f &)
 
static QString str (short int n)
 
static QString str (unsigned short int n)
 
static QString str (long n)
 
static QString str (ulong n)
 
static QString str (int n)
 
static QString str (uint n)
 
static QString str (qlonglong n)
 
static QString str (qulonglong n)
 
static QString str (const double &d)
 
static QString str (const float &f)
 
static QString str (const void *)
 
template<class T >
static QString str (const T *t)
 
template<class T >
static QString str (const QFlags< T > &f)
 
template<class T >
static QString str (const HepGeom::BasicVector3D< T > &t)
 
static QString str (const Amg::Vector3D &t)
 
template<class T >
static QString str (const QList< T > &t)
 

Protected Member Functions

void setHelperClassName (const QString &n)
 

Private Member Functions

 MuonChamberProjectionHelper (const MuonChamberProjectionHelper &)
 
MuonChamberProjectionHelperoperator= (const MuonChamberProjectionHelper &)
 

Private Attributes

Impm_d
 
QString m_helpername
 
IVP1Systemm_system
 

Static Private Attributes

static const bool s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
 

Detailed Description

Definition at line 32 of file MuonChamberProjectionHelper.h.

Constructor & Destructor Documentation

◆ MuonChamberProjectionHelper() [1/3]

MuonChamberProjectionHelper::MuonChamberProjectionHelper ( StoreGateSvc detectorStore)

Definition at line 116 of file MuonChamberProjectionHelper.cxx.

117 : VP1HelperClassBase(0,"MuonChamberProjectionHelper"), m_d(new Imp(this,detectorStore))
118 {
119  if (!detectorStore)
120  message("ERROR: Received NULL detectorstore");
121 }

◆ MuonChamberProjectionHelper() [2/3]

MuonChamberProjectionHelper::MuonChamberProjectionHelper ( IVP1System sys)

Definition at line 124 of file MuonChamberProjectionHelper.cxx.

125  : VP1HelperClassBase(0,"MuonChamberProjectionHelper"), m_d(new Imp(this,(sys?sys->detectorStore():0)))
126 {
127  if (!sys)
128  message("ERROR: Received NULL system pointer (and thus can't get detector store pointer");
129  else if (!m_d->detectorStore)
130  message("ERROR: Could not get detectorStore pointer from system pointer");
131 }

◆ ~MuonChamberProjectionHelper()

MuonChamberProjectionHelper::~MuonChamberProjectionHelper ( )

Definition at line 134 of file MuonChamberProjectionHelper.cxx.

135 {
136  Imp::ChamberInfoMapItr itMDT, itMDTE(m_d->mdtchambervolinfo.end());
137  for ( itMDT = m_d->mdtchambervolinfo.begin(); itMDT!=itMDTE; ++itMDT )
138  itMDT->second.trd->unref();
139  delete m_d;
140 }

◆ MuonChamberProjectionHelper() [3/3]

MuonChamberProjectionHelper::MuonChamberProjectionHelper ( const MuonChamberProjectionHelper )
private

Member Function Documentation

◆ applyTransformToVector()

Amg::Vector3D & MuonChamberProjectionHelper::applyTransformToVector ( const Amg::Transform3D m,
Amg::Vector3D v 
)
static

Definition at line 143 of file MuonChamberProjectionHelper.cxx.

144 {
145  //It is a vector, so we apply the rotation part only:
146  double vx = v.x(), vy = v.y(), vz = v.z();
147 // v.set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
148 // m.yx()*vx + m.yy()*vy + m.yz()*vz,
149 // m.zx()*vx + m.zy()*vy + m.zz()*vz);
151  m(0,0)*vx + m(0,1)*vy + m(0,2)*vz,
152  m(1,0)*vx + m(1,1)*vy + m(1,2)*vz,
153  m(2,0)*vx + m(2,1)*vy + m(2,2)*vz);
154  return v;
155 }

◆ clipLineSegmentToMDTChamber()

bool MuonChamberProjectionHelper::clipLineSegmentToMDTChamber ( const GeoPVConstLink &  mdtChamber,
Amg::Vector3D pointA,
Amg::Vector3D pointB,
bool &  outsidechamber,
const double &  extradist = 0.0 
)

Definition at line 482 of file MuonChamberProjectionHelper.cxx.

485 {
486  Imp::ChamberInfoMapItr itChamberInfo;
487  if (!m_d->getMDTChamberVolInfo( mdtChamber, itChamberInfo ))
488  return false;
489 
490  double trdX, trdZ;
491  m_d->getMDTChamberXAndZ(itChamberInfo, trdX, trdZ );
492 
493  trdX += extradist;
494  trdZ += extradist;
495 
496  if (trdX<=0.0||trdZ<=0.0)//Extradist must have been negative - and so much that effective chamber dimensions are collapsed.
497  return false;
498 
499  //Get local chamber coordinates, A and B, of pointA and pointB:
500  itChamberInfo->second.ensureInitGlobalToLocal();
501  Amg::Vector3D A((*(itChamberInfo->second.globalToLocal))*pointA), B((*(itChamberInfo->second.globalToLocal))*pointB);
502  double ax(A.x()), az(A.z()), bx(B.x()), bz(B.z());
503 
504  //Clip x and z dimensions:
505  outsidechamber = !(m_d->clip2DLineSegmentToRectangle( trdX, trdZ, ax, az, bx, bz ));
506  if (outsidechamber)
507  return true;
508 
509  double ay(A.y()), by(B.y());
510  //Fixme: We must also clip y dimensions!!
511 
512  //Put results back into points and in global coordinates:
513  Amg::setVector3DCartesian(pointA, ax,ay,az);
515  Amg::transform(pointA, itChamberInfo->second.localToGlobal);
516  Amg::transform(pointB, itChamberInfo->second.localToGlobal);
517  outsidechamber = false;
518  return true;
519 
520 }

◆ getDistancesToMDTChamberWallsAlongLine()

bool MuonChamberProjectionHelper::getDistancesToMDTChamberWallsAlongLine ( const GeoPVConstLink &  mdtChamber,
const Amg::Vector3D point,
const Amg::Vector3D lineDirection,
double &  distanceToFirstEndPlane,
double &  distanceToSecondEndPlane,
const double &  radius = 0.0 
)

Definition at line 275 of file MuonChamberProjectionHelper.cxx.

279 {
280  Imp::ChamberInfoMapItr itChamberInfo;
281  if (!m_d->getMDTChamberVolInfo( mdtChamber, itChamberInfo ))
282  return false;
283 
284  const GeoTrd * trd = itChamberInfo->second.trd;
285  double y1(trd->getYHalfLength1()), y2(trd->getYHalfLength2()), z(trd->getZHalfLength());
286 
287  //Normals and points on ends (transformed from local to global coords):
288 
289  Amg::Vector3D n1(0,+2*z,-(y2-y1));
290  Amg::Vector3D n2(0,-2*z,-(y2-y1));
291  applyTransformToVector(itChamberInfo->second.localToGlobal,n1);
292  applyTransformToVector(itChamberInfo->second.localToGlobal,n2);
293  const Amg::Vector3D p1(itChamberInfo->second.localToGlobal * Amg::Vector3D(0,y1,-z) );
294  const Amg::Vector3D p2(itChamberInfo->second.localToGlobal * Amg::Vector3D(0,-y1,-z) );
295 
296  distanceToFirstEndPlane = m_d->pointToPlaneDistAlongLine(point,lineDirection,p1,n1);
297  if (distanceToFirstEndPlane < 0.0 )
298  return false;
299 
300  distanceToSecondEndPlane = m_d->pointToPlaneDistAlongLine(point,lineDirection,p2,n2);
301  if (distanceToSecondEndPlane < 0.0 )
302  return false;
303 
304  if (radius!=0.0) {
305  double r(fabs(radius)); //Map negative radii to positive.
306  Amg::Vector3D unitdir(lineDirection.unit());
307  double costheta1 = unitdir.dot(n1.unit());
308  double costheta2 = unitdir.dot(n2.unit());
309  //remember that tan(theta) = sqrt((1-cos^2(theta))/cos(theta))
310  distanceToFirstEndPlane += r*sqrt(fabs((1-costheta1*costheta1)/costheta1));
311  distanceToSecondEndPlane += r*sqrt(fabs((1-costheta2*costheta2)/costheta2));
312  }
313 
314  return true;
315 }

◆ helperClassName()

QString VP1HelperClassBase::helperClassName ( ) const
inlineinherited

Definition at line 51 of file VP1HelperClassBase.h.

51 { return m_helpername; }

◆ isKnownMDTChamber()

bool MuonChamberProjectionHelper::isKnownMDTChamber ( const GeoPVConstLink &  mdtChamber)

Definition at line 268 of file MuonChamberProjectionHelper.cxx.

269 {
270  Imp::ChamberInfoMapItr itChamberInfo;
271  return m_d->getMDTChamberVolInfo( mdtChamber, itChamberInfo, true );
272 }

◆ message() [1/3]

void VP1HelperClassBase::message ( const QString &  str) const
inherited

Definition at line 49 of file VP1HelperClassBase.cxx.

50 {
51  if (m_helpername.isEmpty()) {
52  if (m_system)
54  else
55  std::cout<<VP1Msg::prefix_msg()<<" [nameless helper class]: "<<str.toStdString()<<std::endl;
56  } else {
57  if (m_system)
58  m_system->message("["+m_helpername+"] " + str);
59  else
60  std::cout<<VP1Msg::prefix_msg()<<" ["<<m_helpername.toStdString()<<"]: "<<str.toStdString()<<std::endl;
61  }
62 }

◆ message() [2/3]

void VP1HelperClassBase::message ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 131 of file VP1HelperClassBase.cxx.

132 {
133  if (addtostart.isEmpty()) {
134  message(l,addtoend);
135  return;
136  }
137  if (addtoend.isEmpty()) {
138  for (QString s : l)
139  message(addtostart+s);
140  } else {
141  for (QString s : l)
142  message(addtostart+s+addtoend);
143  }
144 }

◆ message() [3/3]

void VP1HelperClassBase::message ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 91 of file VP1HelperClassBase.cxx.

92 {
93  if (addtoend.isEmpty()) {
94  for (QString s : l)
95  message(s);
96  } else {
97  for (QString s : l)
98  message(s+addtoend);
99  }
100 }

◆ messageDebug() [1/3]

void VP1HelperClassBase::messageDebug ( const QString &  str) const
inherited

Definition at line 65 of file VP1HelperClassBase.cxx.

66 {
67  if (!VP1Msg::debug())
68  return;
69  std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
70  if (m_helpername.isEmpty()) {
71  std::cout<<VP1Msg::prefix_debug()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
72  } else {
73  std::cout<<VP1Msg::prefix_debug()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
74  }
75 }

◆ messageDebug() [2/3]

void VP1HelperClassBase::messageDebug ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 147 of file VP1HelperClassBase.cxx.

148 {
149  if (!VP1Msg::debug())
150  return;
151  if (addtostart.isEmpty()) {
152  messageDebug(l,addtoend);
153  return;
154  }
155  if (addtoend.isEmpty()) {
156  for (QString s : l)
157  messageDebug(addtostart+s);
158  } else {
159  for (QString s : l)
160  messageDebug(addtostart+s+addtoend);
161  }
162 }

◆ messageDebug() [3/3]

void VP1HelperClassBase::messageDebug ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 103 of file VP1HelperClassBase.cxx.

104 {
105  if (!VP1Msg::debug())
106  return;
107  if (addtoend.isEmpty()) {
108  for (QString s : l)
109  messageDebug(s);
110  } else {
111  for (QString s : l)
112  messageDebug(s+addtoend);
113  }
114 }

◆ messageVerbose() [1/3]

void VP1HelperClassBase::messageVerbose ( const QString &  str) const
inherited

Definition at line 78 of file VP1HelperClassBase.cxx.

79 {
80  if (!VP1Msg::verbose())
81  return;
82  std::string sysstring(m_system ? " in "+m_system->name().toStdString() : std::string(""));
83  if (m_helpername.isEmpty()) {
84  std::cout<<VP1Msg::prefix_verbose()<<" [helper"<<sysstring<<"]: "<<str.toStdString()<<std::endl;
85  } else {
86  std::cout<<VP1Msg::prefix_verbose()<<" ["<<m_helpername.toStdString()<<sysstring<<"]: "<<str.toStdString()<<std::endl;
87  }
88 }

◆ messageVerbose() [2/3]

void VP1HelperClassBase::messageVerbose ( const QString &  addtostart,
const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 165 of file VP1HelperClassBase.cxx.

166 {
167  if (!VP1Msg::verbose())
168  return;
169  if (addtostart.isEmpty()) {
170  messageVerbose(l,addtoend);
171  return;
172  }
173  if (addtoend.isEmpty()) {
174  for (QString s : l)
175  messageVerbose(addtostart+s);
176  } else {
177  for (QString s : l)
178  messageVerbose(addtostart+s+addtoend);
179  }
180 }

◆ messageVerbose() [3/3]

void VP1HelperClassBase::messageVerbose ( const QStringList &  l,
const QString &  addtoend = "" 
) const
inherited

Definition at line 117 of file VP1HelperClassBase.cxx.

118 {
119  if (!VP1Msg::verbose())
120  return;
121  if (addtoend.isEmpty()) {
122  for (QString s : l)
123  messageVerbose(s);
124  } else {
125  for (QString s : l)
126  messageVerbose(s+addtoend);
127  }
128 }

◆ operator=()

MuonChamberProjectionHelper& MuonChamberProjectionHelper::operator= ( const MuonChamberProjectionHelper )
private

◆ projectAndConstrainLineSegmentToMDTChamberEndWalls()

bool MuonChamberProjectionHelper::projectAndConstrainLineSegmentToMDTChamberEndWalls ( const GeoPVConstLink &  mdtChamber,
const Amg::Vector3D pointA,
const Amg::Vector3D pointB,
Amg::Vector3D firstEndWall_pointA,
Amg::Vector3D firstEndWall_pointB,
Amg::Vector3D secondEndWall_pointA,
Amg::Vector3D secondEndWall_pointB,
bool &  outsidechamber 
)

Definition at line 373 of file MuonChamberProjectionHelper.cxx.

378 {
379  Imp::ChamberInfoMapItr itChamberInfo;
380  if (!m_d->getMDTChamberVolInfo( mdtChamber, itChamberInfo ))
381  return false;
382 
383  double trdX, trdZ;
384  m_d->getMDTChamberXAndZ(itChamberInfo, trdX, trdZ );
385 
386  //Get local chamber coordinates, A and B, of pointA and pointB:
387  itChamberInfo->second.ensureInitGlobalToLocal();
388  Amg::Vector3D A((*(itChamberInfo->second.globalToLocal))*pointA), B((*(itChamberInfo->second.globalToLocal))*pointB);
389  double ax(A.x()), az(A.z()), bx(B.x()), bz(B.z());
390 
391  //We basically have to project the line segment AB to the
392  //(x,z)-plane, and then constrain it to the rectangle given by
393  //x_i<|trdX|, z_i<|trdZ|.
394 
395  outsidechamber = !(m_d->clip2DLineSegmentToRectangle( trdX, trdZ, ax, az, bx, bz ));
396  if (outsidechamber)
397  return true;
398 
399  //Project the points to the end of the Trd:
400  m_d->projectXZPointToTrdAlongYAxis( ax, az,itChamberInfo->second.trd, firstEndWall_pointA, secondEndWall_pointA );
401  m_d->projectXZPointToTrdAlongYAxis( bx, bz,itChamberInfo->second.trd, firstEndWall_pointB, secondEndWall_pointB );
402 
403  //Put points in global coordinates:
404 // firstEndWall_pointA.transform(itChamberInfo->second.localToGlobal);
405 // secondEndWall_pointA.transform(itChamberInfo->second.localToGlobal);
406 // firstEndWall_pointB.transform(itChamberInfo->second.localToGlobal);
407 // secondEndWall_pointB.transform(itChamberInfo->second.localToGlobal);
408  Amg::transform(firstEndWall_pointA, itChamberInfo->second.localToGlobal);
409  Amg::transform(secondEndWall_pointA, itChamberInfo->second.localToGlobal);
410  Amg::transform(firstEndWall_pointB, itChamberInfo->second.localToGlobal);
411  Amg::transform(secondEndWall_pointB, itChamberInfo->second.localToGlobal);
412 
413  outsidechamber = false;
414  return true;
415 }

◆ setHelperClassName()

void VP1HelperClassBase::setHelperClassName ( const QString &  n)
inlineprotectedinherited

Definition at line 59 of file VP1HelperClassBase.h.

59 { m_helpername = n; }

◆ setSystemBasePointer()

void VP1HelperClassBase::setSystemBasePointer ( IVP1System sys)
inherited

Definition at line 197 of file VP1HelperClassBase.cxx.

198 {
199  m_system = sys;
200  if (VP1Msg::verbose()){
201  vp1helperclassbase_instanceMap[this] = (m_system?m_system->name():QString(""));
202  }
203 }

◆ str() [1/30]

static QString VP1String::str ( const Amg::Vector3D t)
inlinestaticinherited

Definition at line 98 of file VP1String.h.

98 { return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [2/30]

static QString VP1String::str ( const bool  b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

53 { return b?"True":"False"; }

◆ str() [3/30]

static QString VP1String::str ( const char *  c)
inlinestaticinherited

Definition at line 50 of file VP1String.h.

50 { return c; }

◆ str() [4/30]

static QString VP1String::str ( const double &  d)
inlinestaticinherited

Definition at line 81 of file VP1String.h.

81 { return QString::number(d); }

◆ str() [5/30]

static QString VP1String::str ( const float &  f)
inlinestaticinherited

Definition at line 82 of file VP1String.h.

82 { return QString::number(f); }

◆ str() [6/30]

template<class T >
static QString VP1String::str ( const HepGeom::BasicVector3D< T > &  t)
inlinestaticinherited

Definition at line 95 of file VP1String.h.

95 { return "("+str(t.x())+", "+str(t.y())+", "+str(t.z())+")"; }

◆ str() [7/30]

QString VP1String::str ( const QColor &  c)
staticinherited

Definition at line 30 of file VP1String.cxx.

31 {
32  return c.isValid() ? c.name() : "Invalid";
33 }

◆ str() [8/30]

template<class T >
static QString VP1String::str ( const QFlags< T > &  f)
inlinestaticinherited

Definition at line 91 of file VP1String.h.

91 { return "0x"+QString::number(f, 16).toUpper().rightJustified(8,'0'); }

◆ str() [9/30]

template<class T >
static QString VP1String::str ( const QList< T > &  t)
inlinestaticinherited

Definition at line 102 of file VP1String.h.

102 { return "QList of size"+QString::number(t.size()); }

◆ str() [10/30]

static QString VP1String::str ( const QString &  s)
inlinestaticinherited

Definition at line 49 of file VP1String.h.

49 { return s; }

◆ str() [11/30]

QString VP1String::str ( const SbColor &  c)
staticinherited

Definition at line 36 of file VP1String.cxx.

37 {
39 }

◆ str() [12/30]

QString VP1String::str ( const SbVec2d &  v)
staticinherited

Definition at line 61 of file VP1String.cxx.

61 { double x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [13/30]

QString VP1String::str ( const SbVec2f &  v)
staticinherited

Definition at line 62 of file VP1String.cxx.

62 { float x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [14/30]

QString VP1String::str ( const SbVec2s &  v)
staticinherited

Definition at line 63 of file VP1String.cxx.

63 { short x,y; v.getValue(x,y); return "("+str(x)+", "+str(y)+")"; }

◆ str() [15/30]

QString VP1String::str ( const SbVec3d &  v)
staticinherited

Definition at line 64 of file VP1String.cxx.

64 { double x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [16/30]

QString VP1String::str ( const SbVec3f &  v)
staticinherited

Definition at line 65 of file VP1String.cxx.

65 { float x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [17/30]

QString VP1String::str ( const SbVec3s &  v)
staticinherited

Definition at line 66 of file VP1String.cxx.

66 { short x,y,z; v.getValue(x,y,z); return "("+str(x)+", "+str(y)+", "+str(z)+")"; }

◆ str() [18/30]

QString VP1String::str ( const SbVec4d &  v)
staticinherited

Definition at line 67 of file VP1String.cxx.

67 { double x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [19/30]

QString VP1String::str ( const SbVec4f &  v)
staticinherited

Definition at line 68 of file VP1String.cxx.

68 { float x,y,z,t; v.getValue(x,y,z,t); return "("+str(x)+", "+str(y)+", "+str(z)+", "+str(t)+")"; }

◆ str() [20/30]

template<class T >
static QString VP1String::str ( const T *  t)
inlinestaticinherited

Definition at line 87 of file VP1String.h.

87 { return str(static_cast<const void* >(t)); }

◆ str() [21/30]

QString VP1String::str ( const void *  p)
staticinherited

Definition at line 48 of file VP1String.cxx.

49 {
50  if (p) {
51  std::ostringstream s;
52  s << p;
53  // Explicitly naming QString here avoids a cppcheck warning.
54  return QString (s.str().c_str());
55  } else {
56  return "NULL";
57  }
58 }

◆ str() [22/30]

QString VP1String::str ( const VP1Interval i)
staticinherited

Definition at line 42 of file VP1String.cxx.

43 {
44  return i.toString();
45 }

◆ str() [23/30]

static QString VP1String::str ( int  n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

77 { return QString::number(n); }

◆ str() [24/30]

static QString VP1String::str ( long  n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

75 { return QString::number(n); }

◆ str() [25/30]

static QString VP1String::str ( qlonglong  n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

79 { return QString::number(n); }

◆ str() [26/30]

static QString VP1String::str ( qulonglong  n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

80 { return QString::number(n); }

◆ str() [27/30]

static QString VP1String::str ( short int  n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

73 { return QString::number(n); }

◆ str() [28/30]

static QString VP1String::str ( uint  n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

78 { return QString::number(n); }

◆ str() [29/30]

static QString VP1String::str ( ulong  n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

76 { return QString::number(n); }

◆ str() [30/30]

static QString VP1String::str ( unsigned short int  n)
inlinestaticinherited

Definition at line 74 of file VP1String.h.

74 { return QString::number(n); }

◆ systemBase()

IVP1System* VP1HelperClassBase::systemBase ( ) const
inlineinherited

Definition at line 50 of file VP1HelperClassBase.h.

50 { return m_system; }

◆ verbose()

static bool VP1HelperClassBase::verbose ( )
inlinestaticinherited

Definition at line 32 of file VP1HelperClassBase.h.

32 { return s_vp1verbose; } // Returns true if env var VP1_VERBOSE_OUTPUT=1

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184 {
185  if (vp1helperclassbase_instanceMap.empty())
186  return;
187  std::cout << "WARNING: Detected "<<vp1helperclassbase_instanceMap.size()<<" undeleted helper class instances:"<<std::endl;
188 
189  std::map<VP1HelperClassBase*,QString>::iterator it,itE(vp1helperclassbase_instanceMap.end());
190  for (it = vp1helperclassbase_instanceMap.begin();it!=itE;++it) {
191  std::cout << " ==> "<<it->first<<": "<<it->first->m_helpername.toStdString()
192  << (it->second.isEmpty()?QString(""):" (in system "+it->second+")").toStdString()<<std::endl;
193  }
194 }

Member Data Documentation

◆ m_d

Imp* MuonChamberProjectionHelper::m_d
private

Definition at line 100 of file MuonChamberProjectionHelper.h.

◆ m_helpername

QString VP1HelperClassBase::m_helpername
privateinherited

Definition at line 67 of file VP1HelperClassBase.h.

◆ m_system

IVP1System* VP1HelperClassBase::m_system
privateinherited

Definition at line 68 of file VP1HelperClassBase.h.

◆ s_vp1verbose

const bool VP1HelperClassBase::s_vp1verbose = VP1QtUtils::environmentVariableIsOn("VP1_VERBOSE_OUTPUT")
staticprivateinherited

Definition at line 69 of file VP1HelperClassBase.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
beamspotman.r
def r
Definition: beamspotman.py:676
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
fitman.ax
ax
Definition: fitman.py:522
hist_file_dump.d
d
Definition: hist_file_dump.py:137
VP1HelperClassBase::m_helpername
QString m_helpername
Definition: VP1HelperClassBase.h:67
VP1HelperClassBase::messageVerbose
void messageVerbose(const QString &) const
Definition: VP1HelperClassBase.cxx:78
VP1HelperClassBase::s_vp1verbose
static const bool s_vp1verbose
Definition: VP1HelperClassBase.h:69
skel.it
it
Definition: skel.GENtoEVGEN.py:423
MuonChamberProjectionHelper::Imp::getMDTChamberVolInfo
bool getMDTChamberVolInfo(const GeoPVConstLink &mdtChamber, ChamberInfoMapItr &itChamberInfo, bool silent=false)
Definition: MuonChamberProjectionHelper.cxx:333
VP1Msg::debug
static bool debug()
Definition: VP1Msg.h:32
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
VP1HelperClassBase::m_system
IVP1System * m_system
Definition: VP1HelperClassBase.h:68
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
x
#define x
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
VP1HelperClassBase::messageDebug
void messageDebug(const QString &) const
Definition: VP1HelperClassBase.cxx:65
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
makeTRTBarrelCans.y1
tuple y1
Definition: makeTRTBarrelCans.py:15
TruthTest.itE
itE
Definition: TruthTest.py:25
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
MuonChamberProjectionHelper::Imp::ChamberInfoMapItr
std::map< GeoPVConstLink, MDTChamberInfo >::iterator ChamberInfoMapItr
Definition: MuonChamberProjectionHelper.cxx:59
VP1Msg::prefix_msg
static const char * prefix_msg()
Definition: VP1Msg.h:56
lumiFormat.i
int i
Definition: lumiFormat.py:92
fitman.bz
bz
Definition: fitman.py:412
z
#define z
MuonChamberProjectionHelper::Imp::projectXZPointToTrdAlongYAxis
void projectXZPointToTrdAlongYAxis(const double &x, const double &z, const GeoTrd *trd, Amg::Vector3D &firstEndWall_point, Amg::Vector3D &secondEndWall_point)
Definition: MuonChamberProjectionHelper.cxx:418
beamspotman.n
n
Definition: beamspotman.py:731
fitman.bx
bx
Definition: fitman.py:410
makeTRTBarrelCans.y2
tuple y2
Definition: makeTRTBarrelCans.py:18
MuonChamberProjectionHelper::Imp::detectorStore
StoreGateSvc * detectorStore
Definition: MuonChamberProjectionHelper.cxx:40
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
Amg::setVector3DCartesian
void setVector3DCartesian(Amg::Vector3D &v1, double x1, double y1, double z1)
Sets components in cartesian coordinate system.
Definition: GeoPrimitivesHelpers.h:136
IVP1System::name
const QString & name() const
Definition: IVP1System.cxx:50
fitman.by
by
Definition: fitman.py:411
MuonChamberProjectionHelper::Imp::clip2DLineSegmentToRectangle
bool clip2DLineSegmentToRectangle(const double &rectX, const double &rectY, double &x0, double &y0, double &x1, double &y1)
Definition: MuonChamberProjectionHelper.cxx:523
MuonChamberProjectionHelper::Imp::pointToPlaneDistAlongLine
double pointToPlaneDistAlongLine(const Amg::Vector3D &point, const Amg::Vector3D &lineDirection, const Amg::Vector3D &planePoint, const Amg::Vector3D &planeNormal)
Definition: MuonChamberProjectionHelper.cxx:317
VP1QtInventorUtils::sbcol2qcol
static QColor sbcol2qcol(const SbColor &)
Definition: VP1QtInventorUtils.cxx:1140
python.selection.number
number
Definition: selection.py:20
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
VP1Msg::prefix_debug
static const char * prefix_debug()
Definition: VP1Msg.h:57
dqt_zlumi_alleff_HIST.B
B
Definition: dqt_zlumi_alleff_HIST.py:110
MuonChamberProjectionHelper::Imp::getMDTChamberXAndZ
void getMDTChamberXAndZ(ChamberInfoMapItr &itChamberInfo, double &trdX, double &trdZ)
Definition: MuonChamberProjectionHelper.cxx:359
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
Rtt_histogram.n1
n1
Definition: Rtt_histogram.py:21
python.PyAthena.v
v
Definition: PyAthena.py:157
VP1Msg::prefix_verbose
static const char * prefix_verbose()
Definition: VP1Msg.h:59
y
#define y
VP1HelperClassBase::message
void message(const QString &) const
Definition: VP1HelperClassBase.cxx:49
str
Definition: BTagTrackIpAccessor.cxx:11
VP1Msg::verbose
static bool verbose()
Definition: VP1Msg.h:31
VP1HelperClassBase::VP1HelperClassBase
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
Definition: VP1HelperClassBase.cxx:28
python.compressB64.c
def c
Definition: compressB64.py:93
MuonChamberProjectionHelper::applyTransformToVector
static Amg::Vector3D & applyTransformToVector(const Amg::Transform3D &m, Amg::Vector3D &v)
Definition: MuonChamberProjectionHelper.cxx:143
IVP1System::message
void message(const QString &) const
Definition: IVP1System.cxx:336
MuonChamberProjectionHelper::Imp::mdtchambervolinfo
std::map< GeoPVConstLink, MDTChamberInfo > mdtchambervolinfo
Definition: MuonChamberProjectionHelper.cxx:58
MuonChamberProjectionHelper::m_d
Imp * m_d
Definition: MuonChamberProjectionHelper.h:99
fitman.ay
ay
Definition: fitman.py:525