--- /dev/null
+// $Id: AliRawReaderHLT.cxx,v 1.3 2007/11/15 18:12:44 szostak Exp $
+
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project *
+ * ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
+ * for The ALICE HLT Project. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+
+/** @file AliRawReaderHLT.cxx
+ @author Matthias Richter
+ @date
+ @brief AliRawReader implementation which replaces original input of
+ detectors with the appropriate HLT output. */
+
+// see header file for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+#include "AliRawReaderHLT.h"
+
+/** ROOT macro for the implementation of ROOT specific class methods */
+ClassImp(AliRawReaderHLT)
+
+AliRawReaderHLT::AliRawReaderHLT(AliRawReader* pRawreader, const char* options)
+ :
+ AliRawReader(),
+ fpParentReader(pRawreader),
+ fOptions()
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+ fOptions=options;
+}
+
+AliRawReaderHLT::~AliRawReaderHLT()
+{
+ // see header file for class documentation
+}
+
+UInt_t AliRawReaderHLT::GetType() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetType();
+}
+
+UInt_t AliRawReaderHLT::GetRunNumber() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetRunNumber();
+}
+
+const UInt_t* AliRawReaderHLT::GetEventId() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEventId();
+}
+
+const UInt_t* AliRawReaderHLT::GetTriggerPattern() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetTriggerPattern();
+}
+
+const UInt_t* AliRawReaderHLT::GetDetectorPattern() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetDetectorPattern();
+}
+
+const UInt_t* AliRawReaderHLT::GetAttributes() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetAttributes();
+}
+
+const UInt_t* AliRawReaderHLT::GetSubEventAttributes() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetSubEventAttributes();
+}
+
+UInt_t AliRawReaderHLT::GetLDCId() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetLDCId();
+}
+
+UInt_t AliRawReaderHLT::GetGDCId() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetGDCId();
+}
+
+UInt_t AliRawReaderHLT::GetTimestamp() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetTimestamp();
+}
+
+const UInt_t* AliRawReaderHLT::GetEquipmentAttributes() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEquipmentAttributes();
+}
+
+Int_t AliRawReaderHLT::GetEquipmentElementSize() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEquipmentElementSize();
+}
+
+Int_t AliRawReaderHLT::GetEquipmentHeaderSize() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEquipmentHeaderSize();
+}
+
+Int_t AliRawReaderHLT::GetEquipmentSize() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEquipmentSize();
+}
+
+Int_t AliRawReaderHLT::GetEquipmentType() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEquipmentType();
+}
+
+Int_t AliRawReaderHLT::GetEquipmentId() const
+{
+ // see header file for class documentation
+ return fpParentReader->GetEquipmentId();
+}
+
+Bool_t AliRawReaderHLT::ReadHeader()
+{
+ // see header file for class documentation
+ return fpParentReader->ReadHeader();
+}
+
+Bool_t AliRawReaderHLT::ReadNextData(UChar_t*& data)
+{
+ // see header file for class documentation
+ return fpParentReader->ReadNextData(data);
+}
+
+Bool_t AliRawReaderHLT::ReadNextInt(UInt_t& data)
+{
+ // see header file for class documentation
+ return fpParentReader->ReadNextInt(data);
+}
+
+Bool_t AliRawReaderHLT::ReadNextShort(UShort_t& data)
+{
+ // see header file for class documentation
+ return fpParentReader->ReadNextShort(data);
+
+}
+
+Bool_t AliRawReaderHLT::ReadNextChar(UChar_t& data)
+{
+ // see header file for class documentation
+ return fpParentReader->ReadNextChar(data);
+}
+
+Bool_t AliRawReaderHLT::ReadNext(UChar_t* data, Int_t size)
+{
+ // see header file for class documentation
+ return fpParentReader->ReadNext(data, size);
+}
+
+Bool_t AliRawReaderHLT::Reset()
+{
+ // see header file for class documentation
+ return fpParentReader->Reset();
+}
+
+Bool_t AliRawReaderHLT::NextEvent()
+{
+ // see header file for class documentation
+ fpParentReader-NextEvent();
+}
+
+Bool_t AliRawReaderHLT::RewindEvents()
+{
+ // see header file for class documentation
+ return fpParentReader->RewindEvents();
+}
+
+AliRawReader* AliRawReaderHLTCreateInstance(AliRawReader* pParentReader, const char* options)
+{
+ // see header file for class documentation
+ return new AliRawReaderHLT(pParentReader, options);
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// @(#) $Id: AliRawReaderHLT.h,v 1.1 2007/10/29 19:01:06 richterm Exp $
+
+#ifndef ALIRAWREADERHLT_H
+#define ALIRAWREADERHLT_H
+//* This file is property of and copyright by the ALICE HLT Project *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* See cxx source for full Copyright notice *
+
+/** @file AliRawReaderHLT.h
+ @author Matthias Richter
+ @date
+ @brief AliRawReader implementation which replaces original input of
+ detectors with the appropriate HLT output. */
+
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+#include "AliRawReader.h"
+#include "TString.h"
+
+/**
+ * @class AliRawReaderHLT
+ * Handler of HLTOUT data for AliRawReader input.
+ */
+class AliRawReaderHLT : public AliRawReader {
+ public:
+ /** constructor */
+ AliRawReaderHLT(AliRawReader* pParentReader, const char* options=NULL);
+ /** destructor */
+ virtual ~AliRawReaderHLT();
+
+ // interface methods of AliRawReader
+ UInt_t GetType() const;
+ UInt_t GetRunNumber() const;
+ const UInt_t* GetEventId() const;
+ const UInt_t* GetTriggerPattern() const;
+ const UInt_t* GetDetectorPattern() const;
+ const UInt_t* GetAttributes() const;
+ const UInt_t* GetSubEventAttributes() const;
+ UInt_t GetLDCId() const;
+ UInt_t GetGDCId() const;
+ UInt_t GetTimestamp() const;
+
+ const UInt_t* GetEquipmentAttributes() const;
+ Int_t GetEquipmentElementSize() const;
+ Int_t GetEquipmentHeaderSize() const;
+
+ Int_t GetEquipmentSize() const;
+ Int_t GetEquipmentType() const;
+ Int_t GetEquipmentId() const;
+ Bool_t ReadHeader();
+ Bool_t ReadNextData(UChar_t*& data);
+ Bool_t ReadNextInt(UInt_t& data);
+ Bool_t ReadNextShort(UShort_t& data);
+ Bool_t ReadNextChar(UChar_t& data);
+ Bool_t ReadNext(UChar_t* data, Int_t size);
+
+ Bool_t Reset();
+
+ Bool_t NextEvent();
+ Bool_t RewindEvents();
+
+ protected:
+
+ private:
+ /** standard constructor prohibited */
+ AliRawReaderHLT();
+ /** copy constructor prohibited */
+ AliRawReaderHLT(const AliRawReaderHLT&);
+ /** assignment operator prohibited */
+ AliRawReaderHLT& operator=(const AliRawReaderHLT&);
+
+ /** the rawreader */
+ AliRawReader* fpParentReader; //!transient
+
+ /** options */
+ TString fOptions; //!transient
+
+ ClassDef(AliRawReaderHLT, 0)
+};
+
+#define ALIHLTREC_LIBRARY "libHLTrec.so"
+#define ALIHLTREC_LIBRARY_VERSION 0
+#define ALIRAWREADERHLT_CREATE_INSTANCE "AliRawReaderHLTCreateInstance"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+ typedef AliRawReader* (*AliRawReaderHLTCreateInstance_t)(AliRawReader* pParentReader, const char* options);
+
+ /**
+ * Create an instance of the AliRawReader class
+ */
+ AliRawReader* AliRawReaderHLTCreateInstance(AliRawReader* pParentReader, const char* options);
+#ifdef __cplusplus
+}
+#endif
+#endif