ATLAS Offline Software
Loading...
Searching...
No Matches
IParticleHandle_TrackParticle.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5
7// //
8// Header file for class IParticleHandle_TrackParticle //
9// //
10// Description: Handles for track particles. //
11// //
12// //
14
15#ifndef IPARTICLEHANDLE_TRACKPARTICLE_H
16#define IPARTICLEHANDLE_TRACKPARTICLE_H
17
18#include "IParticleHandleBase.h"
19
23#include <QList>
24
25class SoLineSet;
26
28public:
29
32
33 virtual bool has3DObjects();
34 virtual void clear3DObjects();
35 virtual SoNode* nodes();
36 void addParameterShapes();
39 #ifndef BUILDVP1LIGHT
42 #endif // BUILDVP1LIGHT
44 void fillLineFromSplineFit( const std::vector<Amg::Vector3D>& positions,
45 const std::vector<Amg::Vector3D>& momenta);
46 void linear(Amg::Vector3D& output, Amg::Vector3D& a, Amg::Vector3D& b, float t);
47
48 void bezier(Amg::Vector3D& output, Amg::Vector3D& a, Amg::Vector3D& b, Amg::Vector3D& c, Amg::Vector3D& d, float t);
49
50 virtual QStringList clicked() const;
51 virtual Amg::Vector3D momentum() const;
52 virtual Amg::Vector3D position() const;
53 const xAOD::IParticle& iParticle() const;
54 virtual double charge() const ;
55
56 virtual unsigned summaryValue(xAOD::SummaryType type) const;
57 virtual unsigned getNPixelHits() const;
58 virtual unsigned getNSCTHits() const;
59 virtual unsigned getNTRTHits() const;
60 virtual unsigned getNMuonPrecisionLayers() const;
61 virtual unsigned getNMuonPrecisionHoleLayers() const;
62 virtual unsigned getNMuonPhiLayers() const;
63 virtual unsigned getNMuonPhiHoleLayers() const;
64
65 virtual QString type() const { return QString("TrackParticle"); }
66
68 QString shortInfo() const;
69
70 void fillObjectBrowser( QList<QTreeWidgetItem *>& listOfItems) ;
71
72 // Some specific stuff used by base collection to draw tracks
73 const QList<std::pair<xAOD::ParameterPosition, Amg::Vector3D> >& parametersAndPositions() const;
74
75 virtual void dumpToJSON( std::ofstream& ) const ;
76
77private:
78
79 class Imp;
82
83};
84
85#endif
static Double_t a
Base class for collections holding AOD objects of iParticle type Handles pt etc cuts Local data:
IParticleHandleBase(IParticleCollHandleBase *)
virtual unsigned summaryValue(xAOD::SummaryType type) const
virtual void clear3DObjects()
Delete objects.
virtual double charge() const
Returns unknown() in case of trouble.
virtual void dumpToJSON(std::ofstream &) const
virtual bool has3DObjects()
Returns true if the 3D objects have been created.
QString shortInfo() const
This returns the information shown about the object in the object browser.
virtual SoNode * nodes()
Returns the 3Dobjects.
const QList< std::pair< xAOD::ParameterPosition, Amg::Vector3D > > & parametersAndPositions() const
void fillObjectBrowser(QList< QTreeWidgetItem * > &listOfItems)
Create and fill the object browser QTreeWidgetItem.
void addLine_FromTrackParticle()
Make the line, but only using information on the track (a spline fit will be done from the parameters...
virtual QString type() const
return very short word with type (maybe link with collection type?)
void ensureInitSubSysHitInfo() const
IParticleHandle_TrackParticle(IParticleCollHandleBase *, const xAOD::TrackParticle *)
void bezier(Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, Amg::Vector3D &c, Amg::Vector3D &d, float t)
void linear(Amg::Vector3D &output, Amg::Vector3D &a, Amg::Vector3D &b, float t)
virtual QStringList clicked() const
Called when user selects the node (stringlist is displayed in messagebox).
void addLine_Extrapolated()
Extrapolate the initial track parameters to get the line (a spline fit is done between the extrapolat...
const xAOD::IParticle & iParticle() const
Class providing the definition of the 4-vector interface.
Eigen::Matrix< double, 3, 1 > Vector3D
TrackParticle_v1 TrackParticle
Reference the current persistent version:
SummaryType
Enumerates the different types of information stored in Summary.