ATLAS Offline Software
Loading...
Searching...
No Matches
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
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 115 of file MuonChamberProjectionHelper.cxx.

116: VP1HelperClassBase(0,"MuonChamberProjectionHelper"), m_d(new Imp(this,detectorStore))
117{
118 if (!detectorStore)
119 message("ERROR: Received NULL detectorstore");
120}
VP1HelperClassBase(IVP1System *sys=0, QString helpername="")
void message(const QString &) const

◆ MuonChamberProjectionHelper() [2/3]

MuonChamberProjectionHelper::MuonChamberProjectionHelper ( IVP1System * sys)

Definition at line 123 of file MuonChamberProjectionHelper.cxx.

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

◆ ~MuonChamberProjectionHelper()

MuonChamberProjectionHelper::~MuonChamberProjectionHelper ( )

Definition at line 133 of file MuonChamberProjectionHelper.cxx.

134{
135 Imp::ChamberInfoMapItr itMDT, itMDTE(m_d->mdtchambervolinfo.end());
136 for ( itMDT = m_d->mdtchambervolinfo.begin(); itMDT!=itMDTE; ++itMDT )
137 itMDT->second.trd->unref();
138 delete m_d;
139}
std::map< GeoPVConstLink, MDTChamberInfo >::iterator ChamberInfoMapItr

◆ 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 142 of file MuonChamberProjectionHelper.cxx.

143{
144 //It is a vector, so we apply the rotation part only:
145 double vx = v.x(), vy = v.y(), vz = v.z();
146// v.set(m.xx()*vx + m.xy()*vy + m.xz()*vz,
147// m.yx()*vx + m.yy()*vy + m.yz()*vz,
148// m.zx()*vx + m.zy()*vy + m.zz()*vz);
150 m(0,0)*vx + m(0,1)*vy + m(0,2)*vz,
151 m(1,0)*vx + m(1,1)*vy + m(1,2)*vz,
152 m(2,0)*vx + m(2,1)*vy + m(2,2)*vz);
153 return v;
154}
void setVector3DCartesian(Amg::Vector3D &v1, double x1, double y1, double z1)
Sets components in cartesian coordinate system.

◆ clipLineSegmentToMDTChamber()

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

Definition at line 481 of file MuonChamberProjectionHelper.cxx.

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

◆ 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 274 of file MuonChamberProjectionHelper.cxx.

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

◆ helperClassName()

const 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 267 of file MuonChamberProjectionHelper.cxx.

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

◆ 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)
53 m_system->message(str);
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}
static const char * prefix_msg()
Definition VP1Msg.h:56
static QString str(const QString &s)
Definition VP1String.h:49

◆ 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 (const QString& s : l)
139 message(addtostart+s);
140 } else {
141 for (const 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 (const QString& s : l)
95 message(s);
96 } else {
97 for (const 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}
static bool debug()
Definition VP1Msg.h:32
static const char * prefix_debug()
Definition VP1Msg.h:57

◆ 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 (const QString& s : l)
157 messageDebug(addtostart+s);
158 } else {
159 for (const QString& s : l)
160 messageDebug(addtostart+s+addtoend);
161 }
162}
void messageDebug(const QString &) const

◆ 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 (const QString& s : l)
109 messageDebug(s);
110 } else {
111 for (const 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}
static bool verbose()
Definition VP1Msg.h:31
static const char * prefix_verbose()
Definition VP1Msg.h:59

◆ 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 (const QString& s : l)
175 messageVerbose(addtostart+s);
176 } else {
177 for (const QString& s : l)
178 messageVerbose(addtostart+s+addtoend);
179 }
180}
void messageVerbose(const QString &) const

◆ 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 (const QString& s : l)
124 } else {
125 for (const 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 372 of file MuonChamberProjectionHelper.cxx.

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

◆ setHelperClassName()

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

Definition at line 59 of file VP1HelperClassBase.h.

◆ 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}
static std::map< VP1HelperClassBase *, QString > vp1helperclassbase_instanceMap

◆ str() [1/30]

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]

QString VP1String::str ( const bool b)
inlinestaticinherited

Definition at line 53 of file VP1String.h.

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

◆ str() [3/30]

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

Definition at line 50 of file VP1String.h.

50{ return c; }

◆ str() [4/30]

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

Definition at line 81 of file VP1String.h.

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

◆ str() [5/30]

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

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}
static QColor sbcol2qcol(const SbColor &)

◆ 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)+")"; }
#define y
#define x

◆ 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>
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]

QString VP1String::str ( int n)
inlinestaticinherited

Definition at line 77 of file VP1String.h.

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

◆ str() [24/30]

QString VP1String::str ( long n)
inlinestaticinherited

Definition at line 75 of file VP1String.h.

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

◆ str() [25/30]

QString VP1String::str ( qlonglong n)
inlinestaticinherited

Definition at line 79 of file VP1String.h.

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

◆ str() [26/30]

QString VP1String::str ( qulonglong n)
inlinestaticinherited

Definition at line 80 of file VP1String.h.

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

◆ str() [27/30]

QString VP1String::str ( short int n)
inlinestaticinherited

Definition at line 73 of file VP1String.h.

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

◆ str() [28/30]

QString VP1String::str ( uint n)
inlinestaticinherited

Definition at line 78 of file VP1String.h.

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

◆ str() [29/30]

QString VP1String::str ( ulong n)
inlinestaticinherited

Definition at line 76 of file VP1String.h.

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

◆ str() [30/30]

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

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
static const bool s_vp1verbose

◆ warnUndeletedInstances()

void VP1HelperClassBase::warnUndeletedInstances ( )
staticinherited

Definition at line 183 of file VP1HelperClassBase.cxx.

184{
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: