14 #include "TEveManager.h"
15 #include "TEveBrowser.h"
16 #include "TEveTrack.h"
17 #include "TEvePointSet.h"
18 #include "TEveCompound.h"
55 : m_trackerPropagator(nullptr), m_trajToTrackMap(nullptr) {
74 TEveElementList* product,
78 if (tracks ==
nullptr)
85 event->getByLabel(tag, trajTrackAssociationHandle);
97 unsigned track_index = 0;
99 ++it, ++track_index) {
103 if (
item()->modelInfo(track_index).displayProperties().isVisible())
107 for (reco::TrackCollection::const_iterator
i = tracks->begin();
i != tracks->end(); ++
i) {
111 ts.fSign = track.
charge();
112 ts.fP.Set(track.
px(), track.
py(), track.
pz());
113 ts.fV.Set(track.
vx(), track.
vy(), track.
vz());
115 eveTrack->MakeTrack();
122 gEve->GetBrowser()->MapWindow();
126 TEveCompound*
comp) {
132 ts.fSign = track.
charge();
133 ts.fP.Set(track.
px(), track.
py(), track.
pz());
134 ts.fV.Set(track.
vx(), track.
vy(), track.
vz());
138 std::vector<TrajectoryMeasurement> measurements = traj.
measurements();
139 std::vector<TrajectoryMeasurement>::iterator measurements_it = measurements.begin();
140 std::vector<TrajectoryMeasurement>::reverse_iterator measurements_rit = measurements.rbegin();
141 for (
size_t t = 0;
t != measurements.size(); ++
t, ++measurements_it, ++measurements_rit) {
148 eveTrack->AddPathMark(TEvePathMark(
149 TEvePathMark::kReference,
154 eveTrack->MakeTrack();
159 TEveElement* iCompound,
163 bool returnValue =
false;
166 std::advance(it, iId.
index());
const fireworks::Context & context() const
FWProxyBuilderConfiguration * getConfig() const
FWTrackProxyBuilderFullFramework()
#define REGISTER_PROXYBUILDER_METHODS()
const FWDisplayProperties & displayProperties() const
#define REGISTER_FWPROXYBUILDER(_name_, _type_, _purpose_, _view_)
void setItem(const FWEventItem *iItem) override
static const int kAllRPZBits
friend struct const_iterator
const_iterator end() const
last iterator over the map (read only)
void setupAddElement(TEveElement *el, TEveElement *parent, bool set_color=true) const
void get(const T *&oData) const
void buildTrack(TrajTrackAssociationCollection::const_iterator it, TEveCompound *comp)
std::vector< Track > TrackCollection
collection of Tracks
GlobalPoint globalPosition() const
auto const & tracks
cannot be loose
double px() const
x coordinate of momentum vector
bool visibilityModelChanges(const FWModelId &, TEveElement *, FWViewType::EType, const FWViewContext *) override
const FWEventItem * item() const
static const int kAll3DBits
const FWTrackProxyBuilderFullFramework & operator=(const FWTrackProxyBuilderFullFramework &)=delete
PropagationDirection const & direction() const
const TrajTrackAssociationCollection * m_trajToTrackMap
~FWTrackProxyBuilderFullFramework() override
DataContainer const & measurements() const
virtual void setItem(const FWEventItem *iItem)
char const * what() const noexceptoverride
constexpr unsigned getField(const uint32_t u, const unsigned mask, const unsigned offset)
double pz() const
z coordinate of momentum vector
FWGenericParameter< T > * assertParam(const std::string &name, T def)
double vz() const
z coordinate of the reference point on track
const edm::EventBase * getEvent() const
double vy() const
y coordinate of the reference point on track
GlobalVector globalMomentum() const
TEveTrackPropagator * m_trackerPropagator
TEveCompound * createCompound(bool set_color=true, bool propagate_color_to_all_children=false) const
T value(const std::string &name)
int charge() const
track electric charge
const_iterator begin() const
first iterator over the map (read only)
ModelInfo modelInfo(int iIndex) const
const FWEventItem * item() const
double py() const
y coordinate of momentum vector
double vx() const
x coordinate of the reference point on track