ATLAS Offline Software
Loading...
Searching...
No Matches
TrkObjToString Class Reference

#include <TrkObjToString.h>

Collaboration diagram for TrkObjToString:

Public Types

enum  MeasurementType {
  Pixel , SCT , TRT , CSC ,
  RPC , TGC , MDT , MM ,
  sTGC , Hole , CompetingROT , PseudoMeasurement ,
  Segment , Unknown
}

Static Public Member Functions

static MeasurementType type (const Trk::PrepRawData *prd)
static MeasurementType type (const Trk::MeasurementBase *meas)
static MeasurementType type (const Trk::TrkDetElementBase *detEl)
static std::string typeName (MeasurementType type)
 Returns a very short summary of the object type.
static std::string typeName (const Trk::MeasurementBase &mb)
 Returns a very short summary of mb.
static QString name (const Trk::MeasurementBase &mb)
static QString name (const Trk::TrackParameters &mb)
static QString name (const Trk::MaterialEffectsBase &mb)
static QString name (const Trk::FitQualityImpl &mb)
static QString shortInfo (const Trk::MeasurementBase &mb)
static QString shortInfo (const Trk::TrackParameters &tp)
static QString shortInfo (const Trk::MaterialEffectsBase &me)
static QString shortInfo (const Trk::FitQualityImpl &fqos)
static QStringList fullInfo (const Trk::MeasurementBase &tp)
 Returns list of key, value, key, value etc.
static QStringList fullInfo (const Trk::TrackParameters &tp)
 Returns list of key, value, key, value etc.
static QStringList fullInfo (const Trk::MaterialEffectsBase &tp)
 Returns list of key, value, key, value etc.
static QStringList fullInfo (const Trk::FitQualityImpl &tp)
 Returns list of key, value, key, value etc.
static void addBaseROTInfo (QString &info, const Trk::MeasurementBase &mb)
static void addFullInfo (QStringList &info, const Trk::RIO_OnTrack *)
static void addFullInfo (QStringList &info, const Trk::CompetingRIOsOnTrack *)
static void addFullInfo (QStringList &info, const Trk::PseudoMeasurementOnTrack *)
static void addFullInfo (QStringList &info, const Trk::Segment *)

Detailed Description

Definition at line 37 of file TrkObjToString.h.

Member Enumeration Documentation

◆ MeasurementType

Enumerator
Pixel 
SCT 
TRT 
CSC 
RPC 
TGC 
MDT 
MM 
sTGC 
Hole 
CompetingROT 
PseudoMeasurement 
Segment 
Unknown 

Definition at line 39 of file TrkObjToString.h.

Member Function Documentation

◆ addBaseROTInfo()

void TrkObjToString::addBaseROTInfo ( QString & info,
const Trk::MeasurementBase & mb )
static

Definition at line 250 of file TrkObjToString.cxx.

251{
252 info.append("Local: (");
253 info.append( QString::number(mb.localParameters ()[Trk::loc1] ) );
254 if (mb.localParameters ().dimension()==2 ) {
255 info.append(", ");
256 info.append( QString::number(mb.localParameters ()[Trk::loc2] ) );
257 }
258 info.append(").");
259}
@ loc2
generic first and second local coordinate
Definition ParamDefs.h:35
@ loc1
Definition ParamDefs.h:34

◆ addFullInfo() [1/4]

void TrkObjToString::addFullInfo ( QStringList & info,
const Trk::CompetingRIOsOnTrack * crot )
static

Definition at line 557 of file TrkObjToString.cxx.

558{
559 info+="Contains IDs";
560 unsigned int nrio = crot->numberOfContainedROTs();
561 QString rots;
562 for (unsigned int n = 0; n < nrio; n++)
563 {
564 rots+=QString::number(crot->rioOnTrack(n).identify().get_compact());
565 if (n<(nrio-1)) rots+=", ";
566 }
567 info+=rots;
568}
value_type get_compact() const
Get the compact id.
virtual unsigned int numberOfContainedROTs() const =0
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
Identifier identify() const
return the identifier -extends MeasurementBase

◆ addFullInfo() [2/4]

void TrkObjToString::addFullInfo ( QStringList & info,
const Trk::PseudoMeasurementOnTrack *  )
static
Parameters
infoinfo

Definition at line 571 of file TrkObjToString.cxx.

572{
573}

◆ addFullInfo() [3/4]

void TrkObjToString::addFullInfo ( QStringList & info,
const Trk::RIO_OnTrack * rot )
static

Definition at line 449 of file TrkObjToString.cxx.

449 {
450 // ROTS
451 info+="Identifier";
452 info+=QString::number(rot->identify().get_compact());
453 info+="Local";
454 QString locParams="("+QString::number(rot->localParameters ()[Trk::loc1] );
455 if (rot->localParameters ().dimension()==2 ) {
456 locParams.append(", ");
457 locParams.append( QString::number(rot->localParameters ()[Trk::loc2] ) );
458 }
459 locParams.append(")");
460 info+=locParams;
461 const InDet::PixelClusterOnTrack* pix =dynamic_cast<const InDet::PixelClusterOnTrack*> (rot);
462 if (pix) {
463 info+="Cluster Ambiguity";
464 info+=pix->hasClusterAmbiguity () ? "True": "False";
465 info+="Fake";
466 info+=pix->isFake () ? "True": "False";
467 info+="Energy Loss";
468 info+=QString::number(pix->energyLoss ())+QString(" [Mev]");
469 return;
470 }
471
472 const InDet::SCT_ClusterOnTrack* sct =dynamic_cast<const InDet::SCT_ClusterOnTrack*> (rot);
473 if (sct) {
474 //Nothing yet
475 return;
476 }
477
478 const InDet::TRT_DriftCircleOnTrack* trt =dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> (rot);
479 if (trt) {
480 info+="Side";
481 switch (trt->side()){
482 case Trk::NONE: { info+="None"; break;}
483 case Trk::LEFT: { info+="Left"; break;}
484 case Trk::RIGHT: { info+="Right"; break;}
485 }
486
487 info+="Status";
488 switch (trt->status()){
489 case Trk::DECIDED: { info+="Decided"; break;}
490 case Trk::UNDECIDED: { info+="Undecided"; break;}
491 case Trk::CORRUPT: { info+="Corrupt"; break;}
492 case Trk::NODRIFTTIME: { info+="No Drift Time"; break;}
493 }
494
495 info+="High Level";
496 info+=trt->highLevel () ? "True": "False";
497 info+="Time over threshold";
498 info+=QString::number(trt->timeOverThreshold ())+QString(" [CLHEP::ns]");
499
500 return;
501 }
502
503 const Muon::CscClusterOnTrack* csc =dynamic_cast<const Muon::CscClusterOnTrack*> (rot);
504 if (csc) {
505 info+="Status";
506
507 info+=Muon::toString(csc->status()).c_str();
508 return;
509 }
510
511 const Muon::RpcClusterOnTrack* rpc =dynamic_cast<const Muon::RpcClusterOnTrack*> (rot);
512 if (rpc) {
513 // nothing
514 }
515
516 const Muon::TgcClusterOnTrack* tgc =dynamic_cast<const Muon::TgcClusterOnTrack*> (rot);
517 if (tgc) {
518 //nothing
519 }
520
521 const Muon::MdtDriftCircleOnTrack* mdt =dynamic_cast<const Muon::MdtDriftCircleOnTrack*> (rot);
522 if (mdt) {
523 info+="Side";
524 switch (mdt->side()){
525 case Trk::NONE: { info+="None"; break;}
526 case Trk::LEFT: { info+="Left"; break;}
527 case Trk::RIGHT: { info+="Right"; break;}
528 }
529
530 info+="Status";
531 switch (mdt->status()){
532 case Trk::DECIDED: { info+="Decided"; break;}
533 case Trk::UNDECIDED: { info+="Undecided"; break;}
534 case Trk::CORRUPT: { info+="Corrupt"; break;}
535 case Trk::NODRIFTTIME: { info+="No Drift Time"; break;}
536 }
537 info+="Drift time";
538 info+=QString::number(mdt->driftTime ())+QString(" [CLHEP::ns]");
539 //TK: Uncomment timing mode for now due to const issues
540 //info+="Timing mode";
541 // info+=QString::number(mdt->timingMode ());
542
543// FIXME! Add creation parameters
544
545 // info+="Status";
546 // switch (mdt->status()){
547 // case Trk::DECIDED: { info+="Decided"; break;}
548 // case Trk::UNDECIDED: { info+="Undecided"; break;}
549 // case Trk::CORRUPT: { info+="Corrupt"; break;}
550 // case Trk::NODRIFTTIME: { info+="No Drift Time"; break;}
551 // }
552 return;
553 }
554}
bool isFake() const
returns whether this cluster is likely to be the fake mirror image of a ganged pixel.
bool hasClusterAmbiguity() const
returns whether there was an ambiguity associated with this pixel cluster.
float energyLoss() const
returns the energy loss in MeV associated to this cluster.
bool highLevel() const
returns true if the high level threshold was passed
Trk::DriftCircleSide side() const
returns the side on which the drift radius is.
double timeOverThreshold() const
returns time over threshold in ns for valid digits; zero otherwise
Trk::DriftCircleStatus status() const
returns the status of the drift radius calibration.
CscClusterStatus status() const
Returns Csc position measurement status flag.
Trk::DriftCircleStatus status() const
Returns the status of the drift radius calibration.
double driftTime() const
Returns the value of the drift time used to obtain the drift radius.
Trk::DriftCircleSide side() const
Returns the side on which the drift radius is wrt to the track.
int dimension() const
Dimension of this localParameters() vector.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
std::string toString(CscStripStatus cstat)
Return a string description of a CSC cluster status flag.
@ RIGHT
the drift radius is positive (see Trk::AtaStraightLine)
@ LEFT
the drift radius is negative (see Trk::AtaStraightLine)
@ NONE
it was not possible to determine the which side of the straw the track passed;
@ NODRIFTTIME
drift time was not used - drift radius is 0.
@ DECIDED
sign of drift radius has been determined
@ CORRUPT
the measurement is corrupt, but for some reason has been left on a track.
@ UNDECIDED
sign of drift radius has not been determined

◆ addFullInfo() [4/4]

void TrkObjToString::addFullInfo ( QStringList & info,
const Trk::Segment *  )
static
Parameters
infoinfo

Definition at line 576 of file TrkObjToString.cxx.

577{
578}

◆ fullInfo() [1/4]

QStringList TrkObjToString::fullInfo ( const Trk::FitQualityImpl & tp)
static

Returns list of key, value, key, value etc.

Definition at line 350 of file TrkObjToString.cxx.

350 {
351 QStringList info("Chi^2");
352 info+=QString::number(fqos.chiSquared());
353 info+="NDF";
354 info+=QString::number(fqos.numberDoF()) ;
355 return info;
356}

◆ fullInfo() [2/4]

QStringList TrkObjToString::fullInfo ( const Trk::MaterialEffectsBase & tp)
static

Returns list of key, value, key, value etc.

Definition at line 359 of file TrkObjToString.cxx.

359 {
360 QStringList info;
361
362 const Trk::MaterialEffectsOnTrack* meot = dynamic_cast<const Trk::MaterialEffectsOnTrack*>(&me);
363 const Trk::EstimatedBremOnTrack* ebot = dynamic_cast<const Trk::EstimatedBremOnTrack*>(&me);
364 if (meot) {
365 if (meot->energyLoss())
366 {
367 info.append("Energy loss");
368 if (meot->energyLoss()->sigmaPlusDeltaE()==meot->energyLoss()->sigmaMinusDeltaE()){
369 info+=QString::number(meot->energyLoss()->deltaE()/CLHEP::MeV)+QString(" +/- ")+QString::number(meot->energyLoss()->sigmaPlusDeltaE()/CLHEP::MeV)+QString(" [MeV]");
370 } else {
371 info+=QString::number(meot->energyLoss()->deltaE()/CLHEP::MeV)+QString(" +/- ")
372 +QString::number(meot->energyLoss()->sigmaPlusDeltaE()/CLHEP::MeV)+QString("/")+QString::number(meot->energyLoss()->sigmaMinusDeltaE()/CLHEP::MeV)
373 +QString(" [MeV]");
374 }
375 }
376 if (meot->scatteringAngles())
377 {
378 info.append("Delta phi");
379 info+=QString::number(meot->scatteringAngles()->deltaPhi())+QString(" +/- ")+QString::number(meot->scatteringAngles()->sigmaDeltaPhi());
380 info+="Delta theta";
381 info+=QString::number(meot->scatteringAngles()->deltaTheta())+QString(" +/- ")+QString::number(meot->scatteringAngles()->sigmaDeltaTheta());
382 }
383 } else if (ebot) {
384 info+="Not yet implemented.";
385 info+="";
386 } else {
387 info+="Not known!";
388 info+="";
389 }
390 return info;
391}
double sigmaPlusDeltaE() const
returns the positive side
double sigmaMinusDeltaE() const
returns the negative side
double deltaE() const
returns the
const EnergyLoss * energyLoss() const
returns the energy loss object.
const ScatteringAngles * scatteringAngles() const
returns the MCS-angles object.
double sigmaDeltaPhi() const
returns the
double deltaPhi() const
returns the
double sigmaDeltaTheta() const
returns the
double deltaTheta() const
returns the

◆ fullInfo() [3/4]

QStringList TrkObjToString::fullInfo ( const Trk::MeasurementBase & tp)
static

Returns list of key, value, key, value etc.

Definition at line 394 of file TrkObjToString.cxx.

395{
396
397 QStringList info ("Local");
398
399 QString posInfo("");
400 if (meas.localParameters().contains(Trk::loc1)) {
401 posInfo = QString("(") + QString::number(meas.localParameters()[Trk::loc1]) ;
402
403 if (meas.localParameters ().dimension()==2 ) {
404 posInfo.append(", ");
405 posInfo.append( QString::number(meas.localParameters ()[Trk::loc2] ) );
406 }
407 posInfo.append(") [CLHEP::mm]");
408 info+= posInfo;
409 } else {
410 info+= QString("[no 'Local' parameters available]");
411 }
412
413 const Amg::MatrixX& err = meas.localCovariance();
414 info+="Error";
415
416 int dim= err.rows();
417 QString errInfo=QString("(") + QString::number(err(0,0));
418 if (dim==1){
419 errInfo+=")";
420 info+=errInfo;
421
422 } else {
423 // assuming 2-dim!
424 errInfo+=",";
425 errInfo+=QString::number(err(0,1));
426 info+=errInfo;
427 //row 2
428 info+=QString("");
429 info+=(QString("(") + QString::number(err(1,0))+QString(",")+QString::number(err(1,1))+QString(")"));
430 }
431
432 // Okay, now let's get specific!
433 const Trk::RIO_OnTrack* rot = dynamic_cast<const Trk::RIO_OnTrack*>(&meas);
434 if (rot) addFullInfo(info,rot);
435
436 const Trk::CompetingRIOsOnTrack* crot= dynamic_cast<const Trk::CompetingRIOsOnTrack*>(&meas);
437 if (crot) addFullInfo(info,crot);
438
439 const Trk::PseudoMeasurementOnTrack* pmeas= dynamic_cast<const Trk::PseudoMeasurementOnTrack*>(&meas);
440 if (pmeas) addFullInfo(info,pmeas);
441
442 const Trk::Segment* seg= dynamic_cast<const Trk::Segment*>(&meas);
443 if (seg) addFullInfo(info,seg);
444
445 return info;
446}
static void addFullInfo(QStringList &info, const Trk::RIO_OnTrack *)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.

◆ fullInfo() [4/4]

QStringList TrkObjToString::fullInfo ( const Trk::TrackParameters & tp)
static

Returns list of key, value, key, value etc.

Definition at line 331 of file TrkObjToString.cxx.

332{
333 const Amg::Vector2D & locPos= tp.localPosition ();
334 QStringList info ("Local");
335 info+= "("+QString::number(locPos[Trk::loc1] ) +", "+ QString::number(locPos[Trk::loc2] )+") [CLHEP::mm]";
336 info+="Momentum";
337 info+=VP1Msg::str(tp.momentum()/CLHEP::MeV)+" [MeV], |P|=("+VP1Msg::str(tp.momentum().mag()/CLHEP::GeV)+") [GeV], |Pt|=("
338 +VP1Msg::str(tp.momentum().perp()/CLHEP::GeV)+") [GeV]";
339 info+="Parameters";
340 QString parameters="(";
341 for (int i = 0; i< tp.parameters().rows(); i++){
342 parameters+=VP1Msg::str((tp.parameters())[i]);
343 if (i<(tp.parameters().rows()-1)) parameters+=", ";
344 }
345 info+=parameters+")";
346 return info;
347}
static QString str(const QString &s)
Definition VP1String.h:49
Eigen::Matrix< double, 2, 1 > Vector2D

◆ name() [1/4]

QString TrkObjToString::name ( const Trk::FitQualityImpl & mb)
static
Parameters
mbmb

Definition at line 203 of file TrkObjToString.cxx.

203 {
204 return {"FitQuality"};
205}

◆ name() [2/4]

QString TrkObjToString::name ( const Trk::MaterialEffectsBase & mb)
static

Definition at line 195 of file TrkObjToString.cxx.

195 {
196 QString name("Unknown");
197 if (dynamic_cast<const Trk::MaterialEffectsOnTrack*>(&mb)) name="MaterialEffectsOnTrack";
198 if (dynamic_cast<const Trk::EstimatedBremOnTrack*>(&mb)) name="EstimatedBremOnTrack";
199 return name;
200}
static QString name(const Trk::MeasurementBase &mb)

◆ name() [3/4]

QString TrkObjToString::name ( const Trk::MeasurementBase & mb)
static

Definition at line 144 of file TrkObjToString.cxx.

145{
146 MeasurementType tmptype = type(&mb);
147 std::string tmpname = typeName( tmptype );
148
149 if (tmptype==CompetingROT) {
150 const Trk::CompetingRIOsOnTrack* crot = dynamic_cast<const Trk::CompetingRIOsOnTrack *>(&mb);
151 if (!crot) return {"Error!"};
152 tmpname+=" [";
153 switch (type (&crot->rioOnTrack(crot->indexOfMaxAssignProb() ) ) ){
154 case Pixel: { tmpname+="Pix"; break; }
155 case SCT: { tmpname+="SCT"; break; }
156 case TRT: { tmpname+="TRT"; break; }
157 case CSC: { tmpname+="CSC"; break; }
158 case RPC: { tmpname+="RPC"; break; }
159 case TGC: { tmpname+="TGC"; break; }
160 case MDT: { tmpname+="MDT"; break; }
161 case MM: { tmpname+="MM"; break; }
162 case sTGC: { tmpname+="sTGC"; break; }
163 case Hole:
164 case CompetingROT:
166 case Segment:
167 case Unknown:
168 {
169 tmpname+="Error!";
170 break;
171 }
172 }
173 tmpname+="]";
174 }
175
176 return {tmpname.c_str()};
177}
static MeasurementType type(const Trk::PrepRawData *prd)
static std::string typeName(MeasurementType type)
Returns a very short summary of the object type.
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.

◆ name() [4/4]

QString TrkObjToString::name ( const Trk::TrackParameters & mb)
static

Definition at line 180 of file TrkObjToString.cxx.

180 {
181 QString name;
182 if (tp.covariance()) name="Measured";
183 if (dynamic_cast<const Trk::Perigee*>(&tp)) name+="Perigee";
184 if (dynamic_cast<const Trk::AtaPlane*>(&tp)) name+="AtaPlane";
185 if (dynamic_cast<const Trk::AtaCylinder*>(&tp)) name+="AtaCylinder";
186 if (dynamic_cast<const Trk::AtaStraightLine*>(&tp)) name+="AtaStraightLine";
187 if (dynamic_cast<const Trk::AtaDisc*>(&tp)) name="AtaDisc";
188 if (dynamic_cast<const Trk::AtaCone*>(&tp)) name="AtaCone";
189 if (dynamic_cast<const Trk::CurvilinearParameters*>(&tp)) name="Curvilinear";
190 if (name=="") std::cout<<"Unknown type of parameter"<<tp<<std::endl;
191 return name+=QString(" Parameters");
192}
ParametersT< TrackParametersDim, Charged, DiscSurface > AtaDisc
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
ParametersT< TrackParametersDim, Charged, StraightLineSurface > AtaStraightLine
CurvilinearParametersT< TrackParametersDim, Charged, PlaneSurface > CurvilinearParameters
ParametersT< TrackParametersDim, Charged, PlaneSurface > AtaPlane
ParametersT< TrackParametersDim, Charged, CylinderSurface > AtaCylinder
ParametersT< TrackParametersDim, Charged, ConeSurface > AtaCone

◆ shortInfo() [1/4]

QString TrkObjToString::shortInfo ( const Trk::FitQualityImpl & fqos)
static

Definition at line 321 of file TrkObjToString.cxx.

321 {
322 QString info("(Chi^2, DOF)=(");
323 info+=QString::number(fqos.chiSquared());
324 info.append(", ");
325 info+=QString::number(fqos.numberDoF());
326 info.append(")");
327 return info;
328}
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition FitQuality.h:60
double chiSquared() const
returns the of the overall track fit
Definition FitQuality.h:56

◆ shortInfo() [2/4]

QString TrkObjToString::shortInfo ( const Trk::MaterialEffectsBase & me)
static

Definition at line 278 of file TrkObjToString.cxx.

278 {
279 QString info;
280
281 const Trk::MaterialEffectsOnTrack* meot = dynamic_cast<const Trk::MaterialEffectsOnTrack*>(&me);
282 const Trk::EstimatedBremOnTrack* ebot = dynamic_cast<const Trk::EstimatedBremOnTrack*>(&me);
283 if (meot) {
284 if (meot->energyLoss())
285 {
286 info.append("Energy loss [MeV]: ");
287 if (meot->energyLoss()->sigmaPlusDeltaE()==meot->energyLoss()->sigmaMinusDeltaE()){
288 info+=QString::number(meot->energyLoss()->deltaE()/CLHEP::MeV);
289 info.append(" +/- ");
290 info+=QString::number(meot->energyLoss()->sigmaPlusDeltaE()/CLHEP::MeV);
291 } else {
292 info+=QString::number(meot->energyLoss()->deltaE()/CLHEP::MeV);
293 info.append(" +/- ");
294 info+=QString::number(meot->energyLoss()->sigmaPlusDeltaE()/CLHEP::MeV);
295 info+="/";
296 info+=QString::number(meot->energyLoss()->sigmaMinusDeltaE()/CLHEP::MeV);
297 }
298 }
299 if (meot->scatteringAngles())
300 {
301 if (meot->energyLoss()) info.append(", ");
302 info.append("Delta phi: (");
303 info+=QString::number(meot->scatteringAngles()->deltaPhi());
304 info.append(" +/- ");
305 info+=QString::number(meot->scatteringAngles()->sigmaDeltaPhi());
306 info.append("), Delta theta: (");
307 info+=QString::number(meot->scatteringAngles()->deltaTheta());
308 info.append(" +/- ");
309 info+=QString::number(meot->scatteringAngles()->sigmaDeltaTheta());
310 info.append(")");
311 }
312 } else if (ebot) {
313 info="Not yet implemented.";
314 } else {
315 info="Not known!";
316 }
317 return info;
318}

◆ shortInfo() [3/4]

QString TrkObjToString::shortInfo ( const Trk::MeasurementBase & mb)
static

Definition at line 208 of file TrkObjToString.cxx.

209{
210 MeasurementType tmptype = type(&mb);
211 QString info;
212 switch (tmptype){
213 case Pixel:
214 case SCT:
215 case TRT:
216 case CSC:
217 case RPC:
218 case TGC:
219 case MDT:
220 case MM:
221 case sTGC:
222 case Hole:
223 {
224 addBaseROTInfo(info,mb);
225 break;
226 }
227 case CompetingROT:
228 {
229 info+="Contains ";
230 const Trk::CompetingRIOsOnTrack* tmpCROT = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(&mb);
231 if (tmpCROT){
232 info+=QString::number(tmpCROT->numberOfContainedROTs());
233 info+=QString::number(tmpCROT->numberOfContainedROTs());
234 info+=" ROTs";
235 }
236 break;
237 }
239 case Segment:
240 case Unknown:
241 {
242 info+="Not yet implemented.";
243 break;
244 }
245 }
246 return info;
247}
static void addBaseROTInfo(QString &info, const Trk::MeasurementBase &mb)

◆ shortInfo() [4/4]

QString TrkObjToString::shortInfo ( const Trk::TrackParameters & tp)
static

Definition at line 262 of file TrkObjToString.cxx.

262 {
263 const Amg::Vector2D & locPos= tp.localPosition ();
264 QString info ("Local: (");
265 info+= QString::number(locPos[Trk::loc1] );
266 info+=", ";
267 info+= QString::number(locPos[Trk::loc2] );
268 info+=") [CLHEP::mm], P=";
269 info+=VP1Msg::str(tp.momentum()/CLHEP::MeV);
270 info+=" [MeV], |P|="+VP1Msg::str(tp.momentum().mag()/CLHEP::GeV);
271 info+=" [GeV], |Pt|="+VP1Msg::str(tp.momentum().perp()/CLHEP::GeV);
272 info+=" [GeV]";
273
274 return info;
275}

◆ type() [1/3]

TrkObjToString::MeasurementType TrkObjToString::type ( const Trk::MeasurementBase * meas)
static

Definition at line 89 of file TrkObjToString.cxx.

90{
91 if (dynamic_cast<const Trk::RIO_OnTrack*>(meas)){
92 // ROTS
93 if (dynamic_cast<const InDet::PixelClusterOnTrack*> (meas))
94 {return TrkObjToString::Pixel;}
95 if (dynamic_cast<const InDet::SCT_ClusterOnTrack*> (meas))
96 {return TrkObjToString::SCT;}
97 if (dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> (meas))
98 {return TrkObjToString::TRT;}
99 if (dynamic_cast<const Muon::CscClusterOnTrack*> (meas))
100 {return TrkObjToString::CSC;}
101 if (dynamic_cast<const Muon::RpcClusterOnTrack*> (meas))
102 {return TrkObjToString::RPC;}
103 if (dynamic_cast<const Muon::TgcClusterOnTrack*> (meas))
104 {return TrkObjToString::TGC;}
105 if (dynamic_cast<const Muon::MdtDriftCircleOnTrack*> (meas))
106 {return TrkObjToString::MDT;}
107 if (dynamic_cast<const Muon::MMClusterOnTrack*> (meas))
108 {return TrkObjToString::MM;}
109 if (dynamic_cast<const Muon::sTgcClusterOnTrack*> (meas))
110 {return TrkObjToString::sTGC;}
111 } else {
112 // Other types
113 if (dynamic_cast<const Trk::CompetingRIOsOnTrack*>(meas) )
115 if (dynamic_cast<const Trk::PseudoMeasurementOnTrack*>(meas) )
117 if (dynamic_cast<const Trk::Segment*>(meas) )
119 }
120 return TrkObjToString::Unknown; // Couldn't cast ROT to anything known
121}

◆ type() [2/3]

TrkObjToString::MeasurementType TrkObjToString::type ( const Trk::PrepRawData * prd)
static

Definition at line 64 of file TrkObjToString.cxx.

65{
81 return TrkObjToString::MM;
84
86}
virtual bool type(PrepRawDataType type) const
Interface method checking the type.

◆ type() [3/3]

TrkObjToString::MeasurementType TrkObjToString::type ( const Trk::TrkDetElementBase * detEl)
static

Definition at line 124 of file TrkObjToString.cxx.

124 {
125 const InDetDD::SiDetectorElement* siDetEl = dynamic_cast<const InDetDD::SiDetectorElement*> (detEl);
126 if (siDetEl){
127 if (siDetEl->isPixel()) {return TrkObjToString::Pixel;}
128 if (siDetEl->isSCT()) {return TrkObjToString::Pixel;}
129 }
130 if (dynamic_cast<const InDetDD::TRT_BaseElement*> (detEl))
131 {return TrkObjToString::TRT;}
132
133 if (dynamic_cast<const MuonGM::CscReadoutElement*> (detEl))
134 {return TrkObjToString::CSC;}
135 if (dynamic_cast<const MuonGM::RpcReadoutElement*> (detEl))
136 {return TrkObjToString::RPC;}
137 if (dynamic_cast<const MuonGM::TgcReadoutElement*> (detEl))
138 {return TrkObjToString::TGC;}
139 if (dynamic_cast<const MuonGM::MdtReadoutElement*> (detEl))
140 {return TrkObjToString::MDT;}
141 return TrkObjToString::Unknown; // Couldn't cast ROT to anything known
142}

◆ typeName() [1/2]

std::string TrkObjToString::typeName ( const Trk::MeasurementBase & mb)
inlinestatic

Returns a very short summary of mb.

Definition at line 110 of file TrkObjToString.h.

111{
112 return typeName(type(&mb));
113}

◆ typeName() [2/2]

std::string TrkObjToString::typeName ( TrkObjToString::MeasurementType type)
inlinestatic

Returns a very short summary of the object type.

Definition at line 87 of file TrkObjToString.h.

88{
89 switch (type){
90 case Pixel: return std::string("Pix RIO_OnTrack");
91 case SCT: return std::string("SCT RIO_OnTrack");
92 case TRT: return std::string("TRT RIO_OnTrack");
93 case CSC: return std::string("CSC RIO_OnTrack");
94 case RPC: return std::string("RPC RIO_OnTrack");
95 case TGC: return std::string("TGC RIO_OnTrack");
96 case MDT: return std::string("MDT RIO_OnTrack");
97 case MM: return std::string("MM RIO_OnTrack");
98 case sTGC: return std::string("sTGC RIO_OnTrack");
99 case Hole: return std::string("Hole");
100 case CompetingROT: return std::string("CompetingROT");
101 case PseudoMeasurement: return std::string("Pseudo");
102 case Segment: return std::string("Segment");
103 case Unknown: return std::string("Unknown");
104 }
105 return std::string("Error!");
106}

The documentation for this class was generated from the following files: