1 #ifndef __ANTARESDAQ_PHYSICSEVENT__ 
    2 #define __ANTARESDAQ_PHYSICSEVENT__ 
   49     out << setw(5) << (int) 
object. 
lcm_id << 
' '  
   50         << setw(2) << (int) 
object. 
ars_id << 
' ';
 
   51     out << static_cast<const T&>(
object);
 
  154     MinT_(+
std::numeric_limits<double>::max()),
 
  155     MaxT_(-
std::numeric_limits<double>::max()),
 
  175   const unsigned int   RunNumber()
      const { 
return runNumber; }
 
  178   const unsigned int   EventType()
      const { 
return EventType_; }
 
  182   const double         MinT()
           const { 
return MinT_; }
 
  184   const double         MaxT()
           const { 
return MaxT_; }
 
  186   const float          MaxA()
           const { 
return MaxA_; }
 
  188   const float          TotA()
           const { 
return TotA_; }
 
  220   template<
class T> 
size_t size() 
const;
 
  239     out << 
" +-------------------------------------+ "               << endl;
 
  240     out << 
" |  EventType_      " << 
object.EventType_               << endl;
 
  241     out << 
" |  RunNumber_      " << 
object.RunNumber()              << endl;
 
  242     out << 
" |  TriggerCounter_ " << 
object.TriggerCounter_          << endl;
 
  243     out << 
" |  FrameTarget_    " << 
object.FrameTarget()            << endl;
 
  244     out << 
" |  FrameTime1_     " << 
object.FrameTime1()             << endl;
 
  245     out << 
" |  FrameTime2_     " << 
object.FrameTime2()             << endl;
 
  246     out << 
" |  FrameIndex_     " << 
object.FrameIndex()             << endl;
 
  247     out << setprecision(11) << setw(14) 
 
  248         << 
" |  MinT_           " << 
object.MinT_                    << endl;
 
  249     out << setprecision(11) << setw(14) 
 
  250         << 
" |  MaxT_           " << 
object.MaxT_                    << endl;
 
  251     out << setprecision( 6) << setw(10) 
 
  252         << 
" |  MaxA_           " << 
object.MaxA_                    << endl;
 
  253     out << setprecision( 6) << setw(10) 
 
  254         << 
" |  TotA_           " << 
object.TotA_                    << endl;
 
  255     out << 
" +-------------------------------------+ "               << endl;
 
  256     out << 
" | Triggered hits   " << 
object.TriggeredSPEHits_.size() << endl;
 
  257     out << 
" | SPE hits         " << 
object.SPEHits_.size()          << endl;
 
  258     out << 
" | AWF hits         " << 
object.AWFHits_.size()          << endl;
 
  259     out << 
" | DWF hits         " << 
object.DWFHits_.size()          << endl;
 
  260     out << 
" +-------------------------------------+ "               << endl;
 
  271 template<> 
inline size_t 
  272 PhysicsEvent::size<TriggeredSPE_Hit>()
 const 
  274   return TriggeredSPEHits_.size();
 
  278 template<> 
inline size_t 
  279 PhysicsEvent::size<SPE_Hit>()
 const 
  281   return SPEHits_.size();
 
  285 template<> 
inline size_t 
  286 PhysicsEvent::size<AWF_Hit>()
 const 
  288   return AWFHits_.size();
 
  292 template<> 
inline size_t 
  293 PhysicsEvent::size<DWF_Hit>()
 const 
  295   return DWFHits_.size();
 
  300 PhysicsEvent::begin<TriggeredSPE_Hit>()
 const 
  302   return TriggeredSPEHits_.begin();
 
  307 PhysicsEvent::end<TriggeredSPE_Hit>()
 const 
  309   return TriggeredSPEHits_.end();
 
  314 PhysicsEvent::begin<SPE_Hit>()
 const 
  316   return SPEHits_.begin();
 
  321 PhysicsEvent::end<SPE_Hit>()
 const 
  323   return SPEHits_.end();
 
  328 PhysicsEvent::begin<AWF_Hit>()
 const 
  330   return AWFHits_.begin();
 
  335 PhysicsEvent::end<AWF_Hit>()
 const 
  337   return AWFHits_.end();
 
  342 PhysicsEvent::begin<DWF_Hit>()
 const 
  344   return DWFHits_.begin();
 
  349 PhysicsEvent::end<DWF_Hit>()
 const 
  351   return DWFHits_.end();
 
  367           first.
tvc       == second.
tvc       &&
 
  383           first.
tvc       != second.
tvc       ||
 
  397   return (first.
MinT() < second.
MaxT() &&
 
  410   return (first.
MinT() > second.
MaxT() ||
 
  423   return first.
MinT() < second.
MinT();
 
bool operator<(const PhysicsEvent &first, const PhysicsEvent &second)
Comparator for physics event; earliest event first.
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
 
bool operator==(const SPE_Hit &first, const SPE_Hit &second)
equal operator for SPE hit.
 
bool operator!=(const SPE_Hit &first, const SPE_Hit &second)
not-equal operator for SPE hit.
 
friend std::ostream & operator<<(std::ostream &out, const ARS_Hit &object)
print ASCII
 
unsigned short lcm_id
LCM identifier.
 
unsigned char ars_id
ARS identifier.
 
ARS_Hit()
Default constructor.
 
AWF_Hit()
Default constructor.
 
DWF_Hit()
Default constructor.
 
Interface for event classes.
 
Template vector<T>::iterator.
 
const_iterator(const typename std::vector< T >::const_iterator &i)
 
const_iterator & operator=(const typename std::vector< T >::const_iterator &i)
 
const unsigned int TriggerCounter() const
Trigger nr.
 
friend std::ostream & operator<<(std::ostream &out, const PhysicsEvent &object)
Print ASCII.
 
const unsigned int EventType() const
Type of PhysicsEvent.
 
const std::vector< SPE_Hit > & SPE_Hits() const
SPE hits.
 
std::vector< SPE_Hit > SPEHits_
 
ClassDef(PhysicsEvent, 2)
 
std::vector< DWF_Hit > DWFHits_
 
const unsigned int FrameTime2() const
least significant word of frametime
 
const float TotA() const
sum of all amplitudes
 
size_t size() const
template size method for nested vector
 
const unsigned int FrameTime1() const
most significant word of frametime
 
std::vector< T >::const_iterator end() const
template end const_iterator for nested vector
 
unsigned int TriggerCounter_
 
virtual ~PhysicsEvent()
Virtual destructor.
 
const std::vector< TriggeredSPE_Hit > & TriggeredSPEHits() const
Triggered hits.
 
const std::vector< DWF_Hit > & DWF_Hits() const
Dynode hits.
 
std::vector< T >::const_iterator begin() const
template begin const_iterator for nested vector
 
const double MinT() const
time of first hit in event
 
const unsigned int FrameIndex() const
frame index
 
const float MaxA() const
amplitude of largest hit in event
 
const unsigned int RunNumber() const
Run number.
 
const double MaxT() const
time of last hit in event
 
const unsigned short FrameTarget() const
Identifier of processor that created this event.
 
PhysicsEvent()
Default constructor.
 
const std::vector< AWF_Hit > & AWF_Hits() const
Waveform hits.
 
std::vector< AWF_Hit > AWFHits_
 
std::vector< TriggeredSPE_Hit > TriggeredSPEHits_
 
SPE_Hit()
Default constructor.
 
unsigned char avc
ARS Analogue to Voltage Convertor.
 
unsigned char tvc
ARS Time to Voltage Convertor.
 
unsigned int timestamp
ARS timestamp (24 bits)
 
ClassDef(TriggeredSPE_Hit, 2)
 
TriggeredSPE_Hit()
Default constructor.