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