/*! \file
  \brief Header file holding the SD Event Trigger class definition
  \author Sylvie Dagoret-Campagne
  \version $Id: Header.h 14717 2009-09-17 20:24:36Z lukas $
*/

#ifndef _sevt_Header_h_
#define _sevt_Header_h_

#include <utl/TimeStamp.h>
#include <utl/LameShadowPtr_fwd.h>


namespace sevt {

  /*! \class Header Header.h sevt/Header.h
    \brief Header file holding the SD Event Trigger class definition
    \author Sylvie Dagoret-Campagne
    \version $Id: Header.h 14717 2009-09-17 20:24:36Z lukas $
  */

  class Header {

  public:
    const utl::TimeStamp& GetTime() const { return fTime; }
    int GetId() const { return fId; }

    void SetTime(const utl::TimeStamp& time) { fTime = time; }
    void SetId(const int id) { fId = id; }

  private:
    Header() : fId(-1) { }
    ~Header() { }

    int fId;              // Identifier
    utl::TimeStamp fTime; // Time of event processing

    friend class SEvent;
    friend class utl::LameShadowPtr<Header>;
    friend class utl::InitializedLameShadowPtr<Header>;

  };

}


#endif