19#ifndef ALICE_O2_EVENTVISUALISATION_BASE_VISUALISATIONEVENT_H
20#define ALICE_O2_EVENTVISUALISATION_BASE_VISUALISATIONEVENT_H
28#include <forward_list>
34namespace event_visualisation
77 mTracks.emplace_back(vo);
78 return &mTracks.back();
84 return mTracks.back().addCluster(xyz);
89 mClusters.emplace_back(xyz,
time, gid);
94 auto result = mClusters.emplace_back(xyz);
101 mCalo.emplace_back(vo);
102 return &mCalo.back();
108 return mMultiplicity;
120 return mTracks.size();
152 return std::count_if(mTracks.begin(), mTracks.end(), [&](
const auto& t) {
153 return (o2::dataformats::GlobalTrackID::getSourceDetectorsMask(t.getSource()) & mdet).any();
160 return std::count_if(mTracks.begin(), mTracks.end(), [&](
const auto& t) {
161 return t.getSource() == src;
223 std::size_t mPrimaryVertex;
225 float mMinTimeOfTracks;
226 float mMaxTimeOfTracks;
232 std::string mCollidingSystem;
234 std::vector<VisualisationTrack> mTracks;
235 std::vector<VisualisationCluster> mClusters;
236 std::vector<VisualisationCalo> mCalo;
static mask_t getMask(const std::string_view detList)
detector masks from any non-alpha-num delimiter-separated list (empty if NONE is supplied)
float getMaxTimeOfTracks() const
gsl::span< const VisualisationTrack > getTracksSpan() const
size_t getDetectorTrackCount(o2::detectors::DetID::ID id) const
void setFirstTForbit(o2::header::DataHeader::TForbitType value)
void addGlobalCluster(float *xyz, float time, o2::dataformats::GlobalTrackID gid)
o2::header::DataHeader::TForbitType getFirstTForbit() const
size_t getCaloCount() const
gsl::span< const VisualisationCalo > getCalorimetersSpan() const
gsl::span< const VisualisationCluster > getClustersSpan() const
void setRunNumber(o2::header::DataHeader::RunNumberType runNumber)
VisualisationEvent limit(std::size_t maximum_number_of_items)
o2::parameters::GRPECS::RunType getRunType() const
int GetMultiplicity() const
VisualisationCluster & addCluster(const float *xyz)
void appendAnotherEventCalo(const VisualisationEvent &another)
void setCreationTime(o2::framework::DataProcessingHeader::CreationTime creationTime)
void setTrkMask(int value)
VisualisationTrack * addTrack(VisualisationTrack::VisualisationTrackVO vo)
const VisualisationCluster & getCluster(int i) const
VisualisationCalo * addCalo(VisualisationCalo::VisualisationCaloVO vo)
void setRunType(o2::parameters::GRPECS::RunType runType)
void setTfCounter(o2::header::DataHeader::TFCounterType value)
size_t getClusterCount() const
o2::header::DataHeader::RunNumberType getRunNumber() const
bool isEmpty() const
maximum time of tracks in the event
void addGlobalCluster(const TVector3 &xyz, o2::dataformats::GlobalTrackID gid, float time)
void setEveVersion(int eveVersion)
o2::header::DataHeader::TFCounterType getTfCounter() const
size_t getTrackCount() const
const VisualisationTrack & getTrack(int i) const
float getMinTimeOfTracks() const
void setPrimaryVertex(std::size_t pv)
std::size_t getPrimaryVertex() const
void setClMask(int value)
static GIDVisualisation mVis
size_t getDetectorsTrackCount(o2::detectors::DetID::mask_t mdet) const
size_t getSourceTrackCount(o2::dataformats::GlobalTrackID::Source src) const
o2::framework::DataProcessingHeader::CreationTime getCreationTime() const
GLsizei GLsizei GLchar * source
GLsizei const GLfloat * value
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
constructor parametrisation (Value Object) for VisualisationCalo class
bool contains[o2::dataformats::GlobalTrackID::NSources][o2::event_visualisation::EVisualisationGroup::NvisualisationGroups]
o2::header::DataHeader::RunNumberType runNumber
std::string collidingSystem