|  | ATLAS Offline Software
    | 
 
 
 
#include <IParticleHandle_Muon.h>
|  | 
|  | IParticleHandle_Muon (IParticleCollHandleBase *, const xAOD::Muon *) | 
|  | 
| virtual | ~IParticleHandle_Muon () | 
|  | 
| virtual bool | has3DObjects () | 
|  | Returns true if the 3D objects have been created.  More... 
 | 
|  | 
| virtual void | clear3DObjects () | 
|  | Delete objects.  More... 
 | 
|  | 
| virtual SoNode * | nodes () | 
|  | Returns the 3Dobjects.  More... 
 | 
|  | 
| void | addParameterShapes () | 
|  | 
| void | addLine_FromTrackParticle () | 
|  | 
| void | linear (Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, float t) | 
|  | 
| void | bezier (Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, Amg::Vector3D &c, Amg::Vector3D &d, float t) | 
|  | 
| void | fillLineFromSplineFit (const std::vector< Amg::Vector3D > &positions, const std::vector< Amg::Vector3D > &momenta) | 
|  | 
| virtual QStringList | clicked () const | 
|  | Called when user selects the node (stringlist is displayed in messagebox).  More... 
 | 
|  | 
| virtual Amg::Vector3D | momentum () const | 
|  | 
| virtual Amg::Vector3D | position () const | 
|  | 
| const xAOD::IParticle & | iParticle () const | 
|  | 
| virtual double | charge () const | 
|  | Returns unknown() in case of trouble.  More... 
 | 
|  | 
| virtual QString | type () const | 
|  | return very short word with type (maybe link with collection type?)  More... 
 | 
|  | 
| unsigned int | quality () const | 
|  | 
| const xAOD::Muon & | muon () const | 
|  | 
| QString | muonTypeString () const | 
|  | 
| QString | qualityString () const | 
|  | 
| QString | shortInfo () const | 
|  | This returns the information shown about the object in the object browser.  More... 
 | 
|  | 
| void | fillObjectBrowser (QList< QTreeWidgetItem * > &listOfItems) | 
|  | Create and fill the object browser QTreeWidgetItem.  More... 
 | 
|  | 
| const QList< std::pair< xAOD::ParameterPosition, Amg::Vector3D > > & | parametersAndPositions () const | 
|  | 
| SoMaterial * | determineMaterial () | 
|  | Should be implemented by children, in order to change the material depending on the interface etc.  More... 
 | 
|  | 
| virtual QStringList | baseInfo () const | 
|  | 
| virtual double | mass () const | 
|  | Returns unknown() in case of trouble.  More... 
 | 
|  | 
| bool | hasCharge () const | 
|  | 
| bool | hasMass () const | 
|  | 
| const AODSysCommonData * | common () const | 
|  | 
| void | setVisible (bool) | 
|  | use by the collection handle.  More... 
 | 
|  | 
| bool | visible () const | 
|  | 
| const AODCollHandleBase * | collHandle () const | 
|  | 
| virtual void | update3DObjects () | 
|  | Called after some configuration changes, or when the object is first created. Must be overloaded by children.  More... 
 | 
|  | 
| virtual void | rebuild3DObjects () | 
|  | 
| virtual void | attach3DObjects () | 
|  | Connect to the scene graph.  More... 
 | 
|  | 
| virtual void | detach3DObjects () | 
|  | Remove from the scene graph.  More... 
 | 
|  | 
| void | updateMaterial () | 
|  | Called after some configuration related to material changes.  More... 
 | 
|  | 
| SoMaterial * | currentMaterial () const | 
|  | Returns the current material of the handle.  More... 
 | 
|  | 
| void | updateObjectBrowser () | 
|  | Update object browser QTreeWidgetItem.  More... 
 | 
|  | 
| QTreeWidgetItem * | browserTreeItem () const | 
|  | Return the QTreeWidgetItem;.  More... 
 | 
|  | 
| virtual void | dumpToJSON (std::ofstream &) const | 
|  | 
Definition at line 22 of file IParticleHandle_Muon.h.
 
◆ IParticleHandle_Muon()
◆ ~IParticleHandle_Muon()
  
  | 
        
          | IParticleHandle_Muon::~IParticleHandle_Muon | ( |  | ) |  |  | virtual | 
 
 
◆ addLine_FromTrackParticle()
      
        
          | void IParticleHandle_Muon::addLine_FromTrackParticle | ( |  | ) |  | 
      
 
Definition at line 218 of file IParticleHandle_Muon.cxx.
  220   std::vector<Amg::Vector3D> positions, momenta;
 
  223   if (!trackparticle) {
 
  224     VP1Msg::message(
"ERROR : no primary track particle associated with this Muon. Can't visualise it.");
 
  227 #if defined BUILDVP1LIGHT 
  233     positions.push_back(
Amg::Vector3D(peri.position().x(),peri.position().y(),peri.position().z()));
 
  234     momenta.  push_back(
Amg::Vector3D(peri.momentum().x(),peri.momentum().y(),peri.momentum().z()));
 
  236   #endif // BUILDVP1LIGHT 
  248   if ( positions.size()<2 ) {
 
  249     VP1Msg::messageVerbose(
"IParticleHandle_Muon::addLine_FromTrackParticle - WARNING - not enough points to make a line.");
 
 
 
 
◆ addParameterShapes()
      
        
          | void IParticleHandle_Muon::addParameterShapes | ( |  | ) |  | 
      
 
Definition at line 197 of file IParticleHandle_Muon.cxx.
  199   SoPointSet* parameterPoints = 
new SoPointSet;
 
  200   SoVertexProperty* vertices2 = 
new SoVertexProperty;
 
  205   for (std::pair<xAOD::ParameterPosition, Amg::Vector3D> parpos : parAndPoses ) {
 
  207     vertices2->vertex.set1Value(
i++,
pos.x(),
pos.y(),
pos.z());
 
  210   parameterPoints->numPoints=
i;
 
  211   parameterPoints->vertexProperty = vertices2;
 
  214   m_d->
sep->addChild(parameterPoints);
 
 
 
 
◆ attach3DObjects()
  
  | 
        
          | void AODHandleBase::attach3DObjects | ( |  | ) |  |  | virtualinherited | 
 
 
◆ baseInfo()
  
  | 
        
          | QStringList IParticleHandleBase::baseInfo | ( |  | ) | const |  | virtualinherited | 
 
 
◆ bezier()
◆ browserTreeItem()
  
  | 
        
          | QTreeWidgetItem * AODHandleBase::browserTreeItem | ( |  | ) | const |  | inherited | 
 
 
◆ charge()
  
  | 
        
          | double IParticleHandle_Muon::charge | ( |  | ) | const |  | virtual | 
 
 
◆ clear3DObjects()
  
  | 
        
          | void IParticleHandle_Muon::clear3DObjects | ( |  | ) |  |  | virtual | 
 
 
◆ clicked()
  
  | 
        
          | QStringList IParticleHandle_Muon::clicked | ( |  | ) | const |  | virtual | 
 
Called when user selects the node (stringlist is displayed in messagebox). 
Reimplementations should add info momInfo() to get momentum, eta, phi, pid,charge, mass printed. 
Implements AODHandleBase.
Definition at line 321 of file IParticleHandle_Muon.cxx.
  328       l << 
"Type = Combined";
 
  330     case  xAOD::Muon::MuonStandAlone: 
 
  331       l << 
"Type = MuonStandAlone";
 
  333     case  xAOD::Muon::SegmentTagged: 
 
  334       l << 
"Type = SegmentTagged";
 
  336     case  xAOD::Muon::CaloTagged: 
 
  337       l << 
"Type = CaloTagged";
 
  339     case  xAOD::Muon::SiliconAssociatedForwardMuon: 
 
  340       l << 
"Type = SiliconAssociatedForwardMuon";
 
  343        l << 
"Type = Unknown";
 
  348       l << 
"Quality = Tight";
 
  351       l << 
"Quality = Medium";
 
  354       l << 
"Quality = Loose";
 
  357       l << 
"Quality = VeryLoose";
 
  360        l << 
"Quality = Unknown";
 
 
 
 
◆ collHandle()
◆ common()
◆ currentMaterial()
  
  | 
        
          | SoMaterial* AODHandleBase::currentMaterial | ( |  | ) | const |  | inlineinherited | 
 
Returns the current material of the handle. 
Definition at line 76 of file AODHandleBase.h.
 
 
◆ currentMaterialChanged()
  
  | 
        
          | virtual void AODHandleBase::currentMaterialChanged | ( |  | ) |  |  | inlineprotectedvirtualinherited | 
 
 
◆ detach3DObjects()
  
  | 
        
          | void AODHandleBase::detach3DObjects | ( |  | ) |  |  | virtualinherited | 
 
 
◆ determineMaterial()
  
  | 
        
          | SoMaterial * IParticleHandleBase::determineMaterial | ( |  | ) |  |  | virtualinherited | 
 
Should be implemented by children, in order to change the material depending on the interface etc. 
This will (by default) return the collection material. 
Implements AODHandleBase.
Definition at line 71 of file IParticleHandleBase.cxx.
 
 
◆ dumpToJSON()
  
  | 
        
          | virtual void AODHandleBase::dumpToJSON | ( | std::ofstream & |  | ) | const |  | inlinevirtualinherited | 
 
 
◆ ensureInitSubSysHitInfo()
  
  | 
        
          | void IParticleHandle_Muon::ensureInitSubSysHitInfo | ( |  | ) | const |  | private | 
 
 
◆ fillLineFromSplineFit()
Definition at line 280 of file IParticleHandle_Muon.cxx.
  282   unsigned int npointsused(0);
 
  289   SoVertexProperty * vertices = 
new SoVertexProperty();
 
  291   for (
unsigned int i=1; 
i<positions.size(); ++
i){
 
  294     unsigned int maxCount=4;
 
  295     float scale = ( (positions[
i]-positions[
i-1]).
mag() )/2.0;
 
  309       vertices->vertex.set1Value(iver++,
pos.x(),
pos.y(),
pos.z());
 
  315   m_d->
line->numVertices.set1Value(0,npointsused);
 
  316   m_d->
line->vertexProperty = vertices;
 
 
 
 
◆ fillObjectBrowser()
  
  | 
        
          | void IParticleHandle_Muon::fillObjectBrowser | ( | QList< QTreeWidgetItem * > & | list | ) |  |  | virtual | 
 
Create and fill the object browser QTreeWidgetItem. 
Reimplemented from AODHandleBase.
Definition at line 538 of file IParticleHandle_Muon.cxx.
  549   TSOSitem->setText(0, QString(
"Def. Parameters [d0,z0,phi0,theta,qOverP]" ) );
 
  550   QString dParameters(
"(");
 
  561   TSOSitem->setText(1, dParameters );
 
  566     QString 
pos(
", Position = (");
 
  576         TSOSitem->setText(1, QString(
"BeamLine" )+
pos );
 
  579         TSOSitem->setText(1, QString(
"FirstMeasurement")+
pos );
 
  582         TSOSitem->setText(1, QString(
"LastMeasurement" )+
pos );
 
  585         TSOSitem->setText(1, QString(
"CalorimeterEntrance")+
pos );
 
  588         TSOSitem->setText(1, QString(
"CalorimeterExit" )+
pos );
 
  591         TSOSitem->setText(1, QString(
"MuonSpectrometerEntrance")+
pos );
 
  594         TSOSitem->setText(1, QString(
"Undefined")+
pos );
 
 
 
 
◆ has3DObjects()
  
  | 
        
          | bool IParticleHandle_Muon::has3DObjects | ( |  | ) |  |  | virtual | 
 
 
◆ hasCharge()
  
  | 
        
          | bool IParticleHandleBase::hasCharge | ( |  | ) | const |  | inlineinherited | 
 
 
◆ hasMass()
  
  | 
        
          | bool IParticleHandleBase::hasMass | ( |  | ) | const |  | inlineinherited | 
 
 
◆ iParticle()
◆ linear()
◆ mass()
  
  | 
        
          | double IParticleHandleBase::mass | ( |  | ) | const |  | virtualinherited | 
 
 
◆ momentum()
◆ muon()
◆ muonTypeString()
      
        
          | QString IParticleHandle_Muon::muonTypeString | ( |  | ) | const | 
      
 
Definition at line 482 of file IParticleHandle_Muon.cxx.
  485     return QString(
"Combined");
 
  486     case xAOD::Muon::MuonStandAlone:
 
  487     return QString(
"MuonStandAlone");
 
  488     case xAOD::Muon::SegmentTagged:
 
  489     return QString(
"SegmentTagged");
 
  490     case xAOD::Muon::CaloTagged:
 
  491     return QString(
"CaloTagged");
 
  492     case xAOD::Muon::SiliconAssociatedForwardMuon:
 
  493     return QString(
"SiliconAssociatedForwardMuon");
 
  495     return QString(
"Unknown Muon type");
 
 
 
 
◆ nodes()
  
  | 
        
          | SoNode * IParticleHandle_Muon::nodes | ( |  | ) |  |  | virtual | 
 
 
◆ numberOfInstances()
  
  | 
        
          | int AODHandleBase::numberOfInstances | ( |  | ) |  |  | staticinherited | 
 
 
◆ parametersAndPositions()
Definition at line 601 of file IParticleHandle_Muon.cxx.
  606   typedef std::pair<xAOD::ParameterPosition, Amg::Vector3D> paramAndPos;
 
  608   #if defined BUILDVP1LIGHT 
  617   #endif // BUILDVP1LIGHT 
 
 
 
◆ position()
◆ quality()
      
        
          | unsigned int IParticleHandle_Muon::quality | ( |  | ) | const | 
      
 
 
◆ qualityString()
      
        
          | QString IParticleHandle_Muon::qualityString | ( |  | ) | const | 
      
 
Definition at line 499 of file IParticleHandle_Muon.cxx.
  502     return QString(
"Tight");
 
  504     return QString(
"Medium");
 
  506     return QString(
"Loose");
 
  508     return QString(
"VeryLoose");
 
  510     return QString(
"Unknown Muon quality");
 
 
 
 
◆ rebuild3DObjects()
  
  | 
        
          | void AODHandleBase::rebuild3DObjects | ( |  | ) |  |  | virtualinherited | 
 
 
◆ setVisible()
  
  | 
        
          | void AODHandleBase::setVisible | ( | bool | vis | ) |  |  | inherited | 
 
use by the collection handle. 
Definition at line 99 of file AODHandleBase.cxx.
  101   QString 
tmp = (vis==
true)?
"True":
"False";
 
 
 
 
◆ shortInfo()
  
  | 
        
          | QString IParticleHandle_Muon::shortInfo | ( |  | ) | const |  | virtual | 
 
 
◆ type()
  
  | 
        
          | virtual QString IParticleHandle_Muon::type | ( |  | ) | const |  | inlinevirtual | 
 
 
◆ unknown()
  
  | 
        
          | static double AODHandleBase::unknown | ( |  | ) |  |  | inlinestaticinherited | 
 
 
◆ update3DObjects()
  
  | 
        
          | void AODHandleBase::update3DObjects | ( |  | ) |  |  | virtualinherited | 
 
Called after some configuration changes, or when the object is first created. Must be overloaded by children. 
Definition at line 125 of file AODHandleBase.cxx.
 
 
◆ updateMaterial()
  
  | 
        
          | void AODHandleBase::updateMaterial | ( |  | ) |  |  | inherited | 
 
Called after some configuration related to material changes. 
Definition at line 208 of file AODHandleBase.cxx.
 
 
◆ updateObjectBrowser()
  
  | 
        
          | void AODHandleBase::updateObjectBrowser | ( |  | ) |  |  | inlineinherited | 
 
 
◆ visible()
  
  | 
        
          | bool AODHandleBase::visible | ( |  | ) | const |  | inlineinherited | 
 
 
◆ visibleStateChanged()
  
  | 
        
          | void AODHandleBase::visibleStateChanged | ( |  | ) |  |  | protectedvirtualinherited | 
 
Dummy implementation does nothing. 
override if need to take action in this case. 
Definition at line 316 of file AODHandleBase.cxx.
  329   itemFont.setStrikeOut(!
visible());
 
 
 
 
◆ m_collhandle
◆ m_currentmaterial
  
  | 
        
          | SoMaterial* AODHandleBase::m_currentmaterial |  | privateinherited | 
 
 
◆ m_d
  
  | 
        
          | Imp* IParticleHandle_Muon::m_d |  | private | 
 
 
◆ m_visible
  
  | 
        
          | bool AODHandleBase::m_visible |  | privateinherited | 
 
 
The documentation for this class was generated from the following files:
 
const QList< std::pair< xAOD::ParameterPosition, Amg::Vector3D > > & parametersAndPositions() const
@ CalorimeterExit
Parameter defined at the exit of the calorimeter.
SoMaterial * material() const
float charge() const
Returns the charge.
@ BeamLine
Parameter defined at the Vertex/Beamline.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
virtual void detach3DObjects()
Remove from the scene graph.
void addLine_FromTrackParticle()
Quality quality() const
Muon CP quality accessors.
float parameterPX(unsigned int index) const
Returns the parameter x momentum component, for 'index'.
AODCollHandleBase * m_collhandle
float z0() const
Returns the  parameter.
void fillLineFromSplineFit(const std::vector< Amg::Vector3D > &positions, const std::vector< Amg::Vector3D > &momenta)
const AODCollHandleBase * collHandle() const
virtual SoMaterial * determineMaterial()=0
Should be implemented by children, in order to change the material depending on the interface etc.
virtual void fillObjectBrowser(QList< QTreeWidgetItem * > &list)
Create and fill the object browser QTreeWidgetItem.
virtual bool has3DObjects()
Returns true if the 3D objects have been created.
virtual Amg::Vector3D momentum() const
@ CalorimeterEntrance
Parameter defined at the entrance to the calorimeter.
@ LastMeasurement
Parameter defined at the position of the last measurement.
virtual double charge() const =0
static QString str(const QString &s)
virtual void currentMaterialChanged()
float d0() const
Returns the  parameter.
float parameterX(unsigned int index) const
Returns the parameter x position, for 'index'.
const AODSysCommonData * common() const
void incrementNShownHandles()
static double phiFromXY(const double &x, const double &y)
float parameterY(unsigned int index) const
Returns the parameter y position, for 'index'.
virtual void attach3DObjects()
Connect to the scene graph.
float parameterPY(unsigned int index) const
Returns the parameter y momentum component, for 'index'.
virtual Amg::Vector3D position() const
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
void linear(Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, float t)
@ FirstMeasurement
Parameter defined at the position of the 1st measurement.
QList< std::pair< xAOD::ParameterPosition, Amg::Vector3D > > parametersAndPositions
static std::atomic< int > nobjhandles
virtual Amg::Vector3D momentum() const
void addParameterShapes()
void printMsgNoTrackParticle()
virtual void visibleStateChanged()
Dummy implementation does nothing.
void deregisterHandle(AODHandleBase *h)
QTreeWidgetItem * browserTreeItem() const
Return the QTreeWidgetItem;.
xAOD::ParameterPosition parameterPosition(unsigned int index) const
Return the ParameterPosition of the parameters at 'index'.
void decrementNShownHandles()
virtual QStringList baseInfo() const
float phi0() const
Returns the  parameter, which has range  to .
float qOverP() const
Returns the  parameter.
float parameterPZ(unsigned int index) const
Returns the parameter z momentum component, for 'index'.
IParticleHandleBase(IParticleCollHandleBase *)
static void messageVerbose(const QString &)
virtual SoNode * nodes()=0
Returns the 3Dobjects.
size_t numberOfParameters() const
Returns the number of additional parameters stored in the TrackParticle.
Eigen::Matrix< double, 3, 1 > Vector3D
const VP1ExtraSepLayerHelper * sepHelper() const
virtual double mass() const
Returns unknown() in case of trouble.
bool hasPrimaryTrackParticleInfo()
IParticleHandle_Muon * theclass
static void messageDebug(const QString &)
static void message(const QString &, IVP1System *sys=0)
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
void bezier(Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, Amg::Vector3D &c, Amg::Vector3D &d, float t)
virtual void rebuild3DObjects()
@ MuonSpectrometerEntrance
Parameter defined at the entrance to the Muon Spectrometer.
float parameterZ(unsigned int index) const
Returns the parameter z position, for 'index'.
QString muonTypeString() const
QTreeWidgetItem * m_objBrowseTree
const TrackParticle * primaryTrackParticle() const
Returns a pointer (which should not usually be NULL, but might be if the muon has been stripped of in...
IParticleCollHandle_Muon * collHandle
Class describing a TrackParticle.
QString qualityString() const
void registerHandle(AODHandleBase *h)
float theta() const
Returns the  parameter, which has range 0 to .
SoMaterial * m_currentmaterial
Scalar mag() const
mag method
MuonType muonType() const
virtual void clear3DObjects()=0
Delete objects.