|
ATLAS Offline Software
|
#include <IParticleHandle_TrackParticle.h>
|
| IParticleHandle_TrackParticle (IParticleCollHandleBase *, const xAOD::TrackParticle *) |
|
virtual | ~IParticleHandle_TrackParticle () |
|
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 () |
| Make the line, but only using information on the track (a spline fit will be done from the parameters) More...
|
|
void | addLine_Extrapolated () |
| Extrapolate the initial track parameters to get the line (a spline fit is done between the extrapolated parameters) More...
|
|
void | fillLineFromSplineFit (const std::vector< Amg::Vector3D > &positions, const std::vector< Amg::Vector3D > &momenta) |
| Fill d->line with a SoLineSet made from a spline fit between the information in positions and momenta. More...
|
|
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) |
|
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 unsigned | summaryValue (xAOD::SummaryType type) const |
|
virtual unsigned | getNPixelHits () const |
|
virtual unsigned | getNSCTHits () const |
|
virtual unsigned | getNTRTHits () const |
|
virtual unsigned | getNMuonPrecisionLayers () const |
|
virtual unsigned | getNMuonPrecisionHoleLayers () const |
|
virtual unsigned | getNMuonPhiLayers () const |
|
virtual unsigned | getNMuonPhiHoleLayers () const |
|
virtual QString | type () const |
| return very short word with type (maybe link with collection type?) More...
|
|
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 |
|
virtual void | dumpToJSON (std::ofstream &) 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...
|
|
◆ IParticleHandle_TrackParticle()
◆ ~IParticleHandle_TrackParticle()
IParticleHandle_TrackParticle::~IParticleHandle_TrackParticle |
( |
| ) |
|
|
virtual |
◆ addLine_Extrapolated()
void IParticleHandle_TrackParticle::addLine_Extrapolated |
( |
| ) |
|
Extrapolate the initial track parameters to get the line (a spline fit is done between the extrapolated parameters)
Definition at line 295 of file IParticleHandle_TrackParticle.cxx.
317 std::vector<Amg::Vector3D> positions;
318 std::vector<Amg::Vector3D> momenta;
321 positions.push_back(
Amg::Vector3D(peri.position().x(),peri.position().y(),peri.position().z()));
322 momenta. push_back(
Amg::Vector3D(peri.momentum().x(),peri.momentum().y(),peri.momentum().z()));
330 for (
auto& es : ecc.extrapolationSteps){
340 positions.push_back(
pos);
341 momenta.push_back(
mom);
349 positions.push_back(
pos);
350 momenta.push_back(
mom);
352 delete ecc.endParameters;
◆ addLine_FromTrackParticle()
void IParticleHandle_TrackParticle::addLine_FromTrackParticle |
( |
| ) |
|
Make the line, but only using information on the track (a spline fit will be done from the parameters)
Definition at line 173 of file IParticleHandle_TrackParticle.cxx.
175 std::vector<Amg::Vector3D> positions, momenta;
177 #if defined BUILDVP1LIGHT
183 positions.push_back(
Amg::Vector3D(peri.position().x(),peri.position().y(),peri.position().z()));
184 momenta. push_back(
Amg::Vector3D(peri.momentum().x(),peri.momentum().y(),peri.momentum().z()));
186 #endif // BUILDVP1LIGHT
◆ addParameterShapes()
void IParticleHandle_TrackParticle::addParameterShapes |
( |
| ) |
|
Definition at line 128 of file IParticleHandle_TrackParticle.cxx.
130 SoPointSet* parameterPoints = 0;
131 SoVertexProperty * vertices2 = 0;
136 parameterPoints =
new SoPointSet;
137 vertices2 =
new SoVertexProperty;
143 for (std::pair<xAOD::ParameterPosition, Amg::Vector3D> parpos : parAndPoses ) {
146 if (colourByParamType) {
149 vertices2->vertex.set1Value(0,
pos.x(),
pos.y(),
pos.z());
150 parameterPoints->numPoints=1;
151 parameterPoints->vertexProperty = vertices2;
152 m_d->
sep->addChild(parameterPoints);
153 parameterPoints =
new SoPointSet;
154 vertices2 =
new SoVertexProperty;
156 vertices2->vertex.set1Value(
i++,
pos.x(),
pos.y(),
pos.z());
160 if (colourByParamType) {
162 parameterPoints->unref();
166 parameterPoints->numPoints=
i;
167 parameterPoints->vertexProperty = vertices2;
169 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_TrackParticle::charge |
( |
| ) |
const |
|
virtual |
◆ clear3DObjects()
void IParticleHandle_TrackParticle::clear3DObjects |
( |
| ) |
|
|
virtual |
◆ clicked()
QStringList IParticleHandle_TrackParticle::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 367 of file IParticleHandle_TrackParticle.cxx.
370 l <<
"TrackParticle:";
◆ 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()
void IParticleHandle_TrackParticle::dumpToJSON |
( |
std::ofstream & |
str | ) |
const |
|
virtual |
◆ ensureInitSubSysHitInfo()
void IParticleHandle_TrackParticle::ensureInitSubSysHitInfo |
( |
| ) |
const |
|
private |
◆ fillLineFromSplineFit()
Fill d->line with a SoLineSet made from a spline fit between the information in positions and momenta.
Definition at line 231 of file IParticleHandle_TrackParticle.cxx.
233 unsigned int npointsused(0);
239 SoVertexProperty * vertices =
new SoVertexProperty();
250 for (
unsigned int i=1;
i<positions.size(); ++
i){
253 if (useExistingParams){
254 float scale = ( (positions[
i]-positions[
i-1]).
mag() )/3.0;
266 float t=
static_cast<float>(
count)/
static_cast<float>(maxCount);
272 vertices->vertex.set1Value(iver++,
pos.x(),
pos.y(),
pos.z());
278 vertices->vertex.set1Value(iver++,positions[
i].
x(),positions[
i].
y(),positions[
i].
z());
289 m_d->
line->numVertices.set1Value(0,npointsused);
290 m_d->
line->vertexProperty = vertices;
◆ fillObjectBrowser()
void IParticleHandle_TrackParticle::fillObjectBrowser |
( |
QList< QTreeWidgetItem * > & |
list | ) |
|
|
virtual |
Create and fill the object browser QTreeWidgetItem.
Reimplemented from AODHandleBase.
Definition at line 514 of file IParticleHandle_TrackParticle.cxx.
519 TSOSitem->setText(0, QString(
"Def. Parameters " ) );
520 QString dParameters(
"(");
531 TSOSitem->setText(1, dParameters );
536 QString
pos(
", Position = (");
546 TSOSitem->setText(1, QString(
"BeamLine" )+
pos );
549 TSOSitem->setText(1, QString(
"FirstMeasurement")+
pos );
552 TSOSitem->setText(1, QString(
"LastMeasurement" )+
pos );
555 TSOSitem->setText(1, QString(
"CalorimeterEntrance")+
pos );
558 TSOSitem->setText(1, QString(
"CalorimeterExit" )+
pos );
561 TSOSitem->setText(1, QString(
"MuonSpectrometerEntrance")+
pos );
564 TSOSitem->setText(1, QString(
"Undefined")+
pos );
◆ getNMuonPhiHoleLayers()
unsigned IParticleHandle_TrackParticle::getNMuonPhiHoleLayers |
( |
| ) |
const |
|
virtual |
◆ getNMuonPhiLayers()
unsigned IParticleHandle_TrackParticle::getNMuonPhiLayers |
( |
| ) |
const |
|
virtual |
◆ getNMuonPrecisionHoleLayers()
unsigned IParticleHandle_TrackParticle::getNMuonPrecisionHoleLayers |
( |
| ) |
const |
|
virtual |
◆ getNMuonPrecisionLayers()
unsigned IParticleHandle_TrackParticle::getNMuonPrecisionLayers |
( |
| ) |
const |
|
virtual |
◆ getNPixelHits()
unsigned IParticleHandle_TrackParticle::getNPixelHits |
( |
| ) |
const |
|
virtual |
◆ getNSCTHits()
unsigned IParticleHandle_TrackParticle::getNSCTHits |
( |
| ) |
const |
|
virtual |
◆ getNTRTHits()
unsigned IParticleHandle_TrackParticle::getNTRTHits |
( |
| ) |
const |
|
virtual |
◆ has3DObjects()
bool IParticleHandle_TrackParticle::has3DObjects |
( |
| ) |
|
|
virtual |
◆ hasCharge()
bool IParticleHandleBase::hasCharge |
( |
| ) |
const |
|
inlineinherited |
◆ hasMass()
bool IParticleHandleBase::hasMass |
( |
| ) |
const |
|
inlineinherited |
◆ iParticle()
◆ linear()
◆ mass()
double IParticleHandleBase::mass |
( |
| ) |
const |
|
virtualinherited |
◆ momentum()
◆ nodes()
SoNode * IParticleHandle_TrackParticle::nodes |
( |
| ) |
|
|
virtual |
◆ numberOfInstances()
int AODHandleBase::numberOfInstances |
( |
| ) |
|
|
staticinherited |
◆ parametersAndPositions()
Definition at line 571 of file IParticleHandle_TrackParticle.cxx.
576 typedef std::pair<xAOD::ParameterPosition, Amg::Vector3D> paramAndPos;
578 #if defined BUILDVP1LIGHT
583 #endif // BUILDVP1LIGHT
◆ position()
◆ 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_TrackParticle::shortInfo |
( |
| ) |
const |
|
virtual |
◆ summaryValue()
◆ type()
virtual QString IParticleHandle_TrackParticle::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_TrackParticle::m_d |
|
private |
◆ m_visible
bool AODHandleBase::m_visible |
|
privateinherited |
The documentation for this class was generated from the following files:
virtual unsigned getNMuonPrecisionHoleLayers() const
virtual Amg::Vector3D position() const
IParticleCollHandle_TrackParticle * collHandle
@ CalorimeterExit
Parameter defined at the exit of the calorimeter.
@ numberOfPrecisionHoleLayers
layers with holes AND no hits [unit8_t].
SoMaterial * material() const
void fillLineFromSplineFit(const std::vector< Amg::Vector3D > &positions, const std::vector< Amg::Vector3D > &momenta)
Fill d->line with a SoLineSet made from a spline fit between the information in positions and momenta...
virtual Amg::Vector3D momentum() const
float charge() const
Returns the charge.
virtual unsigned getNSCTHits() const
@ 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.
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
float parameterPX(unsigned int index) const
Returns the parameter x momentum component, for 'index'.
AODCollHandleBase * m_collhandle
@ numberOfPhiHoleLayers
layers with trigger phi holes but no hits [unit8_t].
const xAOD::TrackParticle * trackparticle
float z0() const
Returns the parameter.
float chiSquared() const
Returns the of the overall track fit.
bool useExistingParameters() const
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.
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
int numOfStepsForInterpolation() const
Returns true if the propagation should use the parameters already on the particle,...
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ 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.
void bezier(Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, Amg::Vector3D &c, Amg::Vector3D &d, float t)
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)
void addLine_FromTrackParticle()
Make the line, but only using information on the track (a spline fit will be done from the parameters...
bool colourParametersByType() const
bool showParameters() const
Returns the number of steps to use when interpolating between paramters (0 is no interpolation....
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'.
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
const TrackParticleCollectionSettingsButton & collSettingsButton() const
const Trk::IExtrapolationEngine * extrapolator() const
@ FirstMeasurement
Parameter defined at the position of the 1st measurement.
const QList< std::pair< xAOD::ParameterPosition, Amg::Vector3D > > & parametersAndPositions() const
static std::atomic< int > nobjhandles
virtual Amg::Vector3D momentum() const
void linear(Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, float t)
virtual unsigned getNPixelHits() const
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'.
virtual unsigned getNMuonPrecisionLayers() const
void decrementNShownHandles()
QList< std::pair< xAOD::ParameterPosition, Amg::Vector3D > > parametersAndPositions
virtual QStringList baseInfo() const
float phi0() const
Returns the parameter, which has range to .
QList< Amg::Vector3D > positionsToWrite
float qOverP() const
Returns the parameter.
float parameterPZ(unsigned int index) const
Returns the parameter z momentum component, for 'index'.
IParticleHandleBase(IParticleCollHandleBase *)
IParticleHandle_TrackParticle * theclass
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
virtual unsigned getNMuonPhiLayers() const
virtual unsigned getNTRTHits() const
const VP1ExtraSepLayerHelper * sepHelper() const
void addLine_Extrapolated()
Extrapolate the initial track parameters to get the line (a spline fit is done between the extrapolat...
virtual double mass() const
Returns unknown() in case of trouble.
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 addParameterShapes()
virtual void rebuild3DObjects()
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ MuonSpectrometerEntrance
Parameter defined at the entrance to the Muon Spectrometer.
virtual unsigned summaryValue(xAOD::SummaryType type) const
float parameterZ(unsigned int index) const
Returns the parameter z position, for 'index'.
float numberDoF() const
Returns the number of degrees of freedom of the overall track or vertex fit as float.
QTreeWidgetItem * m_objBrowseTree
SoMaterial * parameterMaterial(xAOD::ParameterPosition) const
void registerHandle(AODHandleBase *h)
@ numberOfPhiLayers
layers with a trigger phi hit [unit8_t].
float theta() const
Returns the parameter, which has range 0 to .
SoMaterial * m_currentmaterial
Scalar mag() const
mag method
virtual QString type() const
return very short word with type (maybe link with collection type?)
@ numberOfPrecisionLayers
layers with at least 3 hits [unit8_t].
virtual void clear3DObjects()=0
Delete objects.