// $Id$ //----------------------------------------------------------------------- // The GSI Online Offline Object Oriented (Go4) Project // Experiment Data Processing at EE department, GSI //----------------------------------------------------------------------- // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH // Planckstr. 1, 64291 Darmstadt, Germany // Contact: http://go4.gsi.de //----------------------------------------------------------------------- // This software can be used under the license agreements as stated // in Go4License.txt file which is part of the distribution. //----------------------------------------------------------------------- #ifndef TGO4SUBEVENTHEADER10_H #define TGO4SUBEVENTHEADER10_H #include "TObject.h" #include "TGo4GSIEventHeader.h" #include "typedefs.h" /** * Standard GSI subevent header implementation. * For Little Endian machines (linux) * @author J. Adamczewski * @author M. Hemberger */ class TGo4SubEventHeader10 : public TObject { public: /** Reset all members to zero. */ virtual void Clear(Option_t* opt="") { fxGSIHeader.Clear(); fxGSIHeader.fsType=10; //fsProcid=0; // these three values are all unique identifiers //fcSubcrate=0; //fcControl=0; } /** @link aggregationByValue */ TGo4GSIEventHeader fxGSIHeader; /** union to correctly access full id as one int value */ union { /** full id number of procid, subcrate and ctrl */ Int_t fiFullid; struct { #if MBS_ENDIAN == 1 /** Processor type code. */ Char_t fcControl; /** Subcrate number */ Char_t fcSubcrate; /** Processor ID [from setup] */ Short_t fsProcid; #else /** Processor ID [from setup] */ Short_t fsProcid; /** Subcrate number */ Char_t fcSubcrate; /** Processor type code. */ Char_t fcControl; #endif }; }; TGo4SubEventHeader10() : TObject(), fxGSIHeader(), fsProcid(0), fcSubcrate(0), fcControl(0) { } virtual ~TGo4SubEventHeader10() { } ClassDef(TGo4SubEventHeader10,2) }; #endif // TGO4SUBEVENTHEADER10_H