/*! \file \version $Id: TAGmbsEvent.icc,v 1.3 2001/12/02 18:02:03 mueller Exp $ \brief Implementation (inline) of TATOFmbsEvent */ //------------------------------------------+----------------------------------- //! Access event info inline const TATOFmbsEventInfo& TATOFmbsEvent::EventInfo() const { return fInfo; } //------------------------------------------+----------------------------------- //! Returns event number. inline Int_t TATOFmbsEvent::EventRawId() const { return fInfo.RawId(); } //------------------------------------------+----------------------------------- //! Returns event trigger type. inline Int_t TATOFmbsEvent::EventTrigger() const { return fInfo.Trigger(); } //------------------------------------------+----------------------------------- //! Returns event creation time. inline TATOFtimestamp TATOFmbsEvent::EventTime() const { return fInfo.Time(); } //------------------------------------------+----------------------------------- //! Returns number of sub events. inline Int_t TATOFmbsEvent::NSubEvent() const { return (Int_t)fOffset.size(); } //------------------------------------------+----------------------------------- //! Returns type of \a i_ind 'th sub event. inline Int_t TATOFmbsEvent::SubEventType(Int_t i_ind) const { return (fData[fOffset[i_ind]+1]>>16) & 0xffff; } //------------------------------------------+----------------------------------- //! Returns sub type of \a i_ind 'th sub event. inline Int_t TATOFmbsEvent::SubEventSubType(Int_t i_ind) const { return fData[fOffset[i_ind]+1] & 0xffff; } //------------------------------------------+----------------------------------- //! Returns process ident of \a i_ind 'th sub event. inline Int_t TATOFmbsEvent::SubEventProcId(Int_t i_ind) const { return (fData[fOffset[i_ind]+2]>>16) & 0xffff; } //------------------------------------------+----------------------------------- //! Returns processor type of \a i_ind 'th sub event. inline Int_t TATOFmbsEvent::SubEventProcType(Int_t i_ind) const { return (fData[fOffset[i_ind]+2]>>8) & 0xff; } //------------------------------------------+----------------------------------- //! Returns crate number of \a i_ind 'th sub event. inline Int_t TATOFmbsEvent::SubEventCrate(Int_t i_ind) const { return fData[fOffset[i_ind]+2] & 0xff; } //------------------------------------------+----------------------------------- //! Returns size of data portion of \a i_ind 'th sub event. /*! Note the number of 32 bit words of the data part following the sub event header is returned. This forms together with \c SubEventData() , which allows to access the data part as an array of unsigned 32 bit integers, a concise and consistent interface. */ inline Int_t TATOFmbsEvent::SubEventSize(Int_t i_ind) const { return fData[fOffset[i_ind]]; } //------------------------------------------+----------------------------------- //! Returns pointer to data portion of \a i_ind 'th sub event. /*! This pointer points to the first data word after the sub event header. */ inline const UInt_t* TATOFmbsEvent::SubEventData(Int_t i_ind) const { return &fData[0] + fOffset[i_ind]+3; }