1#ifndef TUNPACKEDEVENT_H
2#define TUNPACKEDEVENT_H
30 std::shared_ptr<T>
GetDetector(
bool make_if_not_found =
false);
31 std::shared_ptr<TDetector>
GetDetector(TClass* cls,
bool make_if_not_found =
false);
35 void AddRawData(
const std::shared_ptr<const TFragment>& frag);
36 void SetRawData(
const std::vector<std::shared_ptr<const TFragment>>& fragments) {
fFragments = fragments; }
45 std::ostringstream Print();
52 std::vector<std::shared_ptr<const TFragment>>
fFragments;
61 static_assert(std::is_base_of<TDetector, T>::value,
"T must be a subclass of TDetector");
63 std::shared_ptr<T> output = std::dynamic_pointer_cast<T>(det);
69 if(make_if_not_found) {
70 std::shared_ptr<T> output = std::make_shared<T>();
void SetRawData(const std::vector< std::shared_ptr< const TFragment > > &fragments)
TUnpackedEvent(TUnpackedEvent &&) noexcept=default
std::vector< std::shared_ptr< TDetector > > fDetectors
void AddDetector(const std::shared_ptr< TDetector > &det)
std::shared_ptr< T > GetDetector(bool make_if_not_found=false)
TUnpackedEvent(const TUnpackedEvent &)=default
void AddRawData(const std::shared_ptr< const TFragment > &frag)
std::vector< std::shared_ptr< TDetector > > & GetDetectors()
std::vector< std::shared_ptr< const TFragment > > fFragments