#ifndef _TATOFmbsEvent_H #define _TATOFmbsEvent_H /*! \file \version $Id: TAGmbsEvent.hxx,v 1.6 2003/06/09 18:33:17 mueller Exp $ \brief Declaration of TATOFmbsEvent. */ /*------------------------------------------+---------------------------------*/ #include #include "TATOFdata.h" #include "TATOFmbsEventInfo.h" class TATOFmbsEvent : public TATOFdata { public: TATOFmbsEvent(); virtual ~TATOFmbsEvent(); void SetEventInfo(const TATOFmbsEventInfo& info); void AddSubEvent(Int_t i_typ, Int_t i_styp, Int_t i_pid, Int_t i_ptyp, Int_t i_crate, Int_t i_size, const UInt_t data[]); void Reserve(Int_t i_nsub, Int_t i_nword); const TATOFmbsEventInfo& EventInfo() const; Int_t EventRawId() const; Int_t EventTrigger() const; TATOFtimestamp EventTime() const; Int_t NSubEvent() const; Int_t SubEventType(Int_t i_ind) const; Int_t SubEventSubType(Int_t i_ind) const; Int_t SubEventProcId(Int_t i_ind) const; Int_t SubEventProcType(Int_t i_ind) const; Int_t SubEventCrate(Int_t i_ind) const; Int_t SubEventSize(Int_t i_ind) const; const UInt_t* SubEventData(Int_t i_ind) const; virtual Bool_t NeedAutoDelete() const; virtual void Clear(Option_t* opt=""); virtual void ToStream(ostream& os = cout, Option_t* option = "") const; ClassDef(TATOFmbsEvent,2) private: void SetupOffset(); private: // NOTE: CUSTOM STREAMER TATOFmbsEventInfo fInfo; // MBS event info (trig, time, ...) vector fData; // data vector (common for all SE's) vector fOffset; // offset table for SE's }; #include "TATOFmbsEvent.icc" #endif