return 0;
}
+AliHLTModulePreprocessor* AliHLTModuleAgent::GetPreprocessor()
+{
+ // default method, nothing to be done, child classes can overload
+ return NULL;
+}
+
AliHLTModuleAgent* AliHLTModuleAgent::fAnchor=NULL;
AliHLTModuleAgent* AliHLTModuleAgent::fCurrent=NULL;
int AliHLTModuleAgent::fCount=0;
class AliRawStream;
class AliHLTOUTHandler;
class AliHLTOUT;
+class AliHLTModulePreprocessor;
/**
* @class AliHLTModuleAgent
// AliHLTUInt32_t spec,
// const AliHLTOUT* pData);
+ /**
+ * Get the preprocessor for this component library.
+ * Create an instance of the preprocessor for this component library.
+ * The caller will delete it after useage.
+ * @return pointer to AliHLTModulePreprocessor object.
+ */
+ virtual AliHLTModulePreprocessor* GetPreprocessor();
+
/**
* Old method kept for backward compatibility, redirected to @ref
* GetReconstructionChains.
SUBDIRS = BASE \
sim \
rec \
+ shuttle \
$(SAMPLE_DIR) \
$(TPC_DIR) \
$(PHOS_DIR) \
// header files of library components
#include "AliHLTDummyComponent.h"
+// header file of the module preprocessor
+#include "AliHLTSamplePreprocessor.h"
+
/** global instance for agent registration */
AliHLTAgentSample gAliHLTAgentSample;
return 0;
}
+AliHLTModulePreprocessor* AliHLTAgentSample::GetPreprocessor()
+{
+ // see header file for class documentation
+ return new AliHLTSamplePreprocessor;
+}
* @param pHandler [in] instance of the component handler
*/
int RegisterComponents(AliHLTComponentHandler* pHandler) const;
+
+ AliHLTModulePreprocessor* GetPreprocessor();
protected:
private:
--- /dev/null
+// $Id: AliHLTSamplePreprocessor.cxx 23039 2007-12-13 20:53:02Z richterm $
+
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project *
+ * ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Primary Authors: Sebastian Bablok <Sebastian.Bablok@ift.uib.no> *
+ * Kenneth Aamodt *
+ * 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 AliHLTSamplePreprocessor.cxx
+ * @author Kenneth Aamodt, Sebastian Bablok
+ * @date 2007-12-06
+ * @update 2008-01-22 formerly AliHLTPreprocessor splitted into modules
+ * @brief HLT Preprocessor plugin for the AliHLTComp library
+ */
+
+#include "AliHLTSamplePreprocessor.h"
+#include "AliPreprocessor.h"
+
+#include <AliCDBMetaData.h>
+#include <TObjString.h>
+#include <TString.h>
+#include <TList.h>
+#include <TFile.h>
+
+ClassImp(AliHLTSamplePreprocessor)
+
+AliHLTSamplePreprocessor::AliHLTSamplePreprocessor()
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+}
+
+const char* AliHLTSamplePreprocessor::fgkTempHistoFileName = "HLTTemperatureHistograms.root";
+
+AliHLTSamplePreprocessor::~AliHLTSamplePreprocessor()
+{
+ // see header file for function documentation
+}
+
+void AliHLTSamplePreprocessor::Initialize(Int_t run, UInt_t startTime,
+ UInt_t endTime)
+{
+}
+
+
+UInt_t AliHLTSamplePreprocessor::Process(TMap* dcsAliasMap)
+{
+ // see header file for function documentation
+ UInt_t retVal = 0;
+ if (GetTempHisto() != 0) {
+ // unable to fetch the temperature histogram from HLT
+ retVal = 1;
+ // but if set to 1, then also file from GetHuffmanTables won't be saved !!!
+ }
+
+ return retVal;
+}
+
+UInt_t AliHLTSamplePreprocessor::GetTempHisto()
+{
+ // see header file for function documentation
+
+ UInt_t retVal = 0;
+ // get Temp Histogram map
+ TList* HLTlist = GetFileSources(AliPreprocessor::kHLT, fgkTempHistoFileName);
+ if (!HLTlist) {
+ Log("Missing list for the HLT");
+
+ return 1;
+ }
+
+ if (HLTlist->GetSize() == 0) {
+ Log("No Temperature histogram produced inside the HLT by a DA for this run.");
+ return retVal;
+ // return no error -> DA might not have run, but other file shall be saved.
+ } else if (HLTlist->GetSize() > 1) {
+ Log(Form("Problem on the size of the list: %d (HLT)", HLTlist->GetSize()));
+ return 0; // might have to be changed, when there will be more than one histogram file
+ }
+
+ TObjString* location = (TObjString*) HLTlist->At(0);
+ if (location == 0) {
+ Log("Error in location HLT list.");
+ return 0;
+ }
+ TString localFileName = GetFile(AliPreprocessor::kHLT, fgkTempHistoFileName,
+ location->String().Data());
+ if (!(localFileName.Length() > 0)) {
+ Log("Local file name for Temperature Histogram has zero length.");
+ return 1;
+ }
+
+/*
+ TFile localFile(localFileName);
+ AliCDBMetaData meta("Sebastian Bablok");
+
+ if (!(Store("Calib", kTempHistoFileName, (TObject*) &localFile, &meta, 0, kTRUE))) {
+*/
+ if (!(StoreReferenceFile(localFileName.Data(), fgkTempHistoFileName))) {
+ TString msg("Storing of object '");
+ msg += fgkTempHistoFileName;
+ msg += "' to Reference Storage failed!";
+ Log(msg.Data());
+ retVal = 1;
+ }
+
+ return retVal;
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// @(#) $Id: AliHLTSamplePreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
+
+#ifndef ALIHLTSAMPLEPREPROCESSOR_H
+#define ALIHLTSAMPLEPREPROCESSOR_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 AliHLTSamplePreprocessor.h
+ * @author Kenneth Aamodt, Sebastian Bablok
+ * @date 2007-12-06
+ * @update 2008-01-22 formerly AliHLTPreprocessor splitted into modules
+ * @brief HLT Preprocessor plugin for the AliHLTComp library
+ */
+
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+#include "AliHLTModulePreprocessor.h"
+
+/**
+ * @class AliHLTSamplePreprocessor
+ * HLT preprocessor for the libAliHLTComp module.
+ *
+ * @author Jenny Wagner, Matthias Richter
+ *
+ * @date 2008-01-22
+ */
+class AliHLTSamplePreprocessor : public AliHLTModulePreprocessor
+{
+ public:
+
+ /** Constructor */
+ AliHLTSamplePreprocessor();
+
+ /** Destructor */
+ ~AliHLTSamplePreprocessor();
+
+ /**
+ * Initialize the Preprocessor.
+ *
+ * @param run run number
+ * @param startTime start time of data
+ * @param endTime end time of data
+ */
+ void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+ /**
+ * Function to process data. Inside the preparation and storing to OCDB
+ * should be handled.
+ *
+ * @param dcsAliasMap the map containing aliases and corresponding DCS
+ * values and timestamps
+ *
+ * @return 0 on success; error code otherwise
+ */
+ UInt_t Process(TMap* dcsAliasMap);
+
+ /** Define for Temperature Histogram filename */
+ static const char* fgkTempHistoFileName; // see above
+
+ protected:
+
+ private:
+ /** copy constructor prohibited */
+ AliHLTSamplePreprocessor(const AliHLTSamplePreprocessor& preproc);
+ /** assignment operator prohibited */
+ AliHLTSamplePreprocessor& operator=(const AliHLTSamplePreprocessor& rhs);
+
+ /**
+ * Function fetch and prepare a dummy temperature histogram from the
+ * HLT FXS.
+ *
+ * @return 0 in case of success, else an error code
+ */
+ UInt_t GetTempHisto();
+
+ ClassDef(AliHLTSamplePreprocessor, 0);
+};
+#endif
#include "AliHLTCOMPHuffmanAltroComponent.h"
#include "AliHLTCOMPHuffmanAltroCalibComponent.h"
+// header file of the module preprocessor
+#include "AliHLTCompPreprocessor.h"
+
/** global instance for agent registration */
AliHLTCompAgent gAliHLTCompAgent;
return 0;
}
+
+AliHLTModulePreprocessor* AliHLTCompAgent::GetPreprocessor()
+{
+ // see header file for class documentation
+ return new AliHLTCompPreprocessor;
+}
* @param pHandler [in] instance of the component handler
*/
int RegisterComponents(AliHLTComponentHandler* pHandler) const;
+
+ AliHLTModulePreprocessor* GetPreprocessor();
protected:
private:
--- /dev/null
+// $Id: AliHLTCompPreprocessor.cxx 23039 2007-12-13 20:53:02Z richterm $
+
+//**************************************************************************
+//* 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> *
+//* Jenny Wagner *
+//* 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 AliHLTCompPreprocessor.cxx
+ * @author Jenny Wagner, Matthias Richter
+ * @brief Implementation of the HLT preprocessor for the AliHLTComp library
+ */
+
+#include "AliHLTCompPreprocessor.h"
+#include "AliCDBMetaData.h"
+#include "AliPreprocessor.h"
+#include "TObjString.h"
+#include "TString.h"
+#include "TList.h"
+#include "TFile.h"
+
+// necessary for huffman table to get information about the origin
+#include "AliHLTCOMPHuffmanData.h"
+
+ClassImp(AliHLTCompPreprocessor)
+
+AliHLTCompPreprocessor::AliHLTCompPreprocessor()
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+}
+
+const char* AliHLTCompPreprocessor::fgkHuffmanFileId = "HuffmanData";
+
+AliHLTCompPreprocessor::~AliHLTCompPreprocessor()
+{
+ // see header file for function documentation
+}
+
+void AliHLTCompPreprocessor::Initialize(Int_t run, UInt_t startTime,
+ UInt_t endTime)
+{
+ // see header file for function documentation
+}
+
+
+UInt_t AliHLTCompPreprocessor::Process(TMap* dcsAliasMap)
+{
+ // see header file for function documentation
+ UInt_t retVal = 0;
+
+ if (GetHuffmanTables() != 0) {
+ // unable to fetch Huffman tables
+ retVal = 1;
+ // but if set to 1, then also file from GetTempHisto won't be saved !!!
+ }
+
+ return retVal;
+}
+
+UInt_t AliHLTCompPreprocessor::GetHuffmanTables()
+{
+ // see header file for function documentation
+
+ UInt_t retVal = 0;
+
+ // get all huffman tables stored at FXS
+ TList* HuffmanList = GetFileSources(AliPreprocessor::kHLT, fgkHuffmanFileId);
+ // -> list of all DDL numbers that own a huffman table
+
+ // if no huffman tables are produced, return 0 (successful end --> test if TPC, PHOS are used in current run!)
+ // --> still open to be implemented!
+ // if there is an error getting the sources return 1
+ // else produce containers for each detector to be stored in the OCDB
+ if (!HuffmanList)
+ {
+ Log("No Huffman code tables for HLT");
+ return 1;
+ }
+
+ TList* TPCHuffmanList = new TList();
+ TList* PHOSHuffmanList = new TList();
+
+ // loop over all DDL numbers and put huffman tables into special containers
+ // (one for each detector)
+ for(Int_t ii=0; ii < HuffmanList->GetEntries(); ii++)
+ {
+ // get huffman table
+ TObjString *objstr = (TObjString*) HuffmanList->At(ii);
+
+ if(objstr == 0) // should not happen?!
+ {
+ char logging[1000];
+ sprintf(logging, "Error in Huffmanlist, no DDL at position %d", ii);
+ Log(logging);
+ continue;
+ }
+
+ TString fileName = GetFile(AliPreprocessor::kHLT, "HuffmanData", objstr->GetName());
+
+ if (!(fileName.Length() > 0)) // error if local path/filename is not defined
+ {
+ Log("Local file for current Huffman table is not properly defined.");
+ return 1;
+ }
+
+ TFile* currenthuffmanfile = new TFile(fileName, "READ");
+
+ // if current huffman table file does not contain a table, return an error
+ if ( currenthuffmanfile->Get("fHuffmanData") == NULL)
+ {
+ char logging[1000];
+ sprintf(logging,"Local file %s does not contain a Huffman code table.", fileName.Data());
+ Log(logging);
+ //retVal = 1; // retVal must be zero to give other functions a chance to read their data
+ retVal = 0;
+ }
+
+ TObject* huffmandata = (TObject*) currenthuffmanfile->Get("fHuffmanData");
+ AliHLTCOMPHuffmanData* currenthuffmandata = (AliHLTCOMPHuffmanData*) huffmandata;
+
+ // specifications necessary for sorting process
+ TString detectororigin = "";//currenthuffmandata->GetOrigin();
+ Int_t tablespec = 0;//currenthuffmandata->GetDataSpec();
+
+
+ // plug them into a container:
+ if(detectororigin == "PHOS") // belongs to PHOS table (one one!)
+ {
+ PHOSHuffmanList->AddFirst(huffmandata);
+
+ if(PHOSHuffmanList->GetEntries() > 1)
+ {
+ Log("More than one table available for PHOS.");
+ // return: warning but go on...
+ }
+ }
+ else
+ {
+ if(detectororigin == "TPC ") // belongs to TPC tables (six)
+ {
+ if(tablespec < 6)
+ {
+ TPCHuffmanList->Add(huffmandata);
+
+ if(TPCHuffmanList->GetEntries() > 6)
+ {
+ Log("More than six tables available for TPC.");
+ // return warning but go on...
+ }
+ }
+ else
+ {
+ char logging[1000];
+ sprintf(logging, "Read data specification %d from Huffman table too large to belong to TPC.", tablespec);
+ Log(logging);
+ // retVal = 1; // retVal must be zero to give other functions a chance to read their data
+ retVal = 0;
+ }
+ }
+ else // error!
+ {
+ char logging[1000];
+ sprintf(logging, "Specified detector pattern %s does not define a valid detector.", detectororigin.Data());
+ Log(logging);
+ // retVal = 1; // retVal must be zero to give other functions a chance to read their data
+ retVal = 0;
+ }
+ }
+
+
+ } // end loop over all DDLs
+
+
+ // after loop all containers are filled and can be stored in OCDB
+ AliCDBMetaData meta("Jenny Wagner");
+
+ if (!(Store("CalibTPC", "HuffmanCodeTables", (TObject*) TPCHuffmanList, &meta, 0, kTRUE)))
+ {
+
+ Log("Storing of TPCHuffmanList (Huffman code tables for TPC) to OCDB failed.");
+
+ if (!(StoreReferenceData("CalibTPC", "HuffmanCodeTables", (TObject*) TPCHuffmanList, &meta)))
+ {
+ Log("Storing of TPCHuffmanList (Huffman code tables for TPC) to reference storage failed.");
+
+ retVal = 1;
+ }
+ }
+
+ if (!(Store("CalibPHOS", "HuffmanCodeTables", (TObject*) PHOSHuffmanList, &meta, 0, kTRUE)))
+ {
+
+ Log("Storing of PHOSHuffmanList (Huffman code table for PHOS) to OCDB failed.");
+
+ if (!(StoreReferenceData("CalibPHOS", "HuffmanCodeTables", (TObject*) PHOSHuffmanList, &meta)))
+ {
+ Log("Storing of PHOSHuffmanList (Huffman code table for PHOS) to reference storage failed.");
+
+ retVal = 1;
+ }
+ }
+
+ return retVal;
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// @(#) $Id: AliHLTCompPreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
+
+#ifndef ALIHLTCOMPPREPROCESSOR_H
+#define ALIHLTCOMPPREPROCESSOR_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 AliHLTCompPreprocessor.h
+ * @author Jenny Wagner, Matthias Richter
+ * @brief HLT Preprocessor plugin for the AliHLTComp library
+ */
+
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+#include "AliHLTModulePreprocessor.h"
+
+/**
+ * @class AliHLTCompPreprocessor
+ * HLT preprocessor for the libAliHLTComp module.
+ *
+ * @author Jenny Wagner, Matthias Richter
+ *
+ * @date 2008-01-22
+ */
+class AliHLTCompPreprocessor : public AliHLTModulePreprocessor
+{
+ public:
+
+ /** Constructor */
+ AliHLTCompPreprocessor();
+
+ /** Destructor */
+ ~AliHLTCompPreprocessor();
+
+ /**
+ * Initialize the Preprocessor.
+ *
+ * @param run run number
+ * @param startTime start time of data
+ * @param endTime end time of data
+ */
+ void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+ /**
+ * Function to process data. Inside the preparation and storing to OCDB
+ * should be handled.
+ *
+ * @param dcsAliasMap the map containing aliases and corresponding DCS
+ * values and timestamps
+ *
+ * @return 0 on success; error code otherwise
+ */
+ UInt_t Process(TMap* dcsAliasMap);
+
+ /** Define name of huffman tables stored at FXS */
+ static const char* fgkHuffmanFileId; // see above
+
+ protected:
+
+ private:
+ /** copy constructor prohibited */
+ AliHLTCompPreprocessor(const AliHLTCompPreprocessor& preproc);
+ /** assignment operator prohibited */
+ AliHLTCompPreprocessor& operator=(const AliHLTCompPreprocessor& rhs);
+
+ /**
+ * Function fetch and prepare the Huffman tables from the HLT FXS
+ *
+ * @return 0 in case of success, else an error code
+ */
+ UInt_t GetHuffmanTables();
+
+ ClassDef(AliHLTCompPreprocessor, 0);
+};
+#endif
BASE/test/Makefile
sim/Makefile
rec/Makefile
+ shuttle/Makefile
SampleLib/Makefile
TPCLib/Makefile
TPCLib/mapping2array.cxx
include $(MODDIR)/hlt.conf
CLASS_HDRS:= AliHLTCompAgent.h \
+ AliHLTCompPreprocessor.h \
AliHLTCompDefinitions.h \
AliHLTCOMPHuffmanAltro.h \
AliHLTCOMPHuffmanAltroComponent.h \
MODULE_DHDR:=
-EINCLUDE := HLT/BASE HLT/TPCLib
+EINCLUDE := HLT/BASE HLT/shuttle HLT/TPCLib STEER
###############################################################################
#
MODULE_SRCS= AliHLTSampleComponent1.cxx \
AliHLTSampleComponent2.cxx \
AliHLTAgentSample.cxx \
+ AliHLTSamplePreprocessor.cxx \
AliHLTSampleOfflineSinkComponent.cxx \
AliHLTDummyComponent.cxx
CLASS_HDRS:= AliHLTSampleComponent1.h \
AliHLTSampleComponent2.h \
AliHLTAgentSample.h \
+ AliHLTSamplePreprocessor.h \
AliHLTSampleOfflineSinkComponent.h \
AliHLTDummyComponent.h
PACKCFLAGS := $(filter-out -ansi, $(filter-out -pedantic-errors, $(CFLAGS)))
PACKDCXXFLAGS:= $(filter-out -pedantic-errors, $(CXXFLAGS))
-EINCLUDE := HLT/BASE
+EINCLUDE := HLT/BASE HLT/shuttle
###############################################################################
#
LIBHLTREC_VERSION := 0
CLASS_HDRS:= AliHLTReconstructor.h \
- AliHLTPreprocessor.h \
AliHLTOUTRawReader.h
MODULE_SRCS:= AliHLTDynamicAliLog.cxx \
+++ /dev/null
-// $Id$
-
-/**************************************************************************
- * This file is property of and copyright by the ALICE HLT Project *
- * ALICE Experiment at CERN, All rights reserved. *
- * *
- * Primary Authors: Sebastian Bablok <Sebastian.Bablok@ift.uib.no> *
- * Kenneth Aamodt *
- * 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 AliHLTPreprocessor.cxx
- * @author Kenneth Aamodt, Sebastian Bablok
- * @date 2007-12-06
- * @brief Implementation of the HLT preprocessor (used by the Offline Shuttle)
- */
-
-// 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 "AliHLTPreprocessor.h"
-
-//#include <AliCDBMetaData.h>
-//#include <AliCDBEntry.h>
-
-#include <AliCDBMetaData.h>
-
-
-#include <TObjString.h>
-#include <TString.h>
-#include <TList.h>
-#include <TFile.h>
-
-
-ClassImp(AliHLTPreprocessor)
-
-AliHLTPreprocessor::AliHLTPreprocessor(AliShuttleInterface* shuttle)
- :
- AliPreprocessor(fgkHLTPreproc, shuttle),
- fRun(0),
- fStartTime(0),
- fEndTime(0)
-{
-// see header file for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
-}
-
-const Int_t AliHLTPreprocessor::fgkHuffmanTablesNum = 6;
-
-const char* AliHLTPreprocessor::fgkHLTPreproc = "HLT";
-
-const char* AliHLTPreprocessor::fgkHuffmanFileBase = "huffmanData_";
-
-const char* AliHLTPreprocessor::fgkHuffmanFileDetector = "TPC_"; // at the moment only one
-
-const char* AliHLTPreprocessor::fgkTempHistoFileName = "HLTTemperatureHistograms.root";
-
-AliHLTPreprocessor::~AliHLTPreprocessor() {
-// see header file for function documentation
-}
-
-void AliHLTPreprocessor::Initialize(Int_t run, UInt_t startTime,
- UInt_t endTime) {
-// see header file for function documentation
- fRun = run;
- fStartTime = startTime;
- fEndTime = endTime;
-
- TString msg("Preprocessor for HLT initialized for run: ");
- msg += run;
-// Log(msg.Data());
-}
-
-
-UInt_t AliHLTPreprocessor::Process(TMap* dcsAliasMap) {
-// see header file for function documentation
- UInt_t retVal = 0;
-// const char* localFileName = 0;
-
- if (!GetHLTStatus()) {
- return 0;
- }
-
- // get Huffman tables
- for (Int_t i = 0; i < fgkHuffmanTablesNum; i++) {
- TString runNumberString;
- runNumberString.Form("%08d", fRun);
- TString filename(fgkHuffmanFileBase);
- filename += fgkHuffmanFileDetector;
- filename += runNumberString;
- filename += "_0x23000";
- filename += i;
- filename += "0";
- filename += i;
- filename += ".root";
-
- //spec 0x23000Y0Y -> huffmanData_<detector>_<runnumber>_<specification>.root
- TList* HLTlist = GetFileSources(kHLT, filename.Data());
- if (!HLTlist) {
- Log("Missing list for the HLT");
- continue;
- }
-
- if (HLTlist->GetSize() != 1) {
- Log(Form("Problem on the size of the list: %d (HLT)",
- HLTlist->GetSize()));
- continue;
- }
-
- TObjString* location = (TObjString*) HLTlist->At(0);
- if (location == 0) {
- Log("Error in location HLT list.");
- continue;
- }
- TString localFileName = GetFile(kHLT, filename.Data(),
- location->String().Data());
-
-/*
- TFile localFile(localFileName);
-
- AliCDBMetaData meta("Jennifer Wagner");
- TString name("huffmanData_");
- name += kDetector;
- name += "Patch_";
- name += i;
-
- if (!(Store("CalibTPC", name.Data(), (TObject*) &localFile, &meta, 0, kTRUE))) {
-*/
- if (!(StoreReferenceFile(localFileName.Data(), filename.Data()))) {
- TString msg("Storing of object '");
- msg += filename;
- msg += "' to Reference Storage failed!";
- Log(msg.Data());
- retVal = 1;
- // I think this is then really an error and should return an error code
- }
- }
-
- // get Temp Histogram map
- TList* HLTlist = GetFileSources(kHLT, fgkTempHistoFileName);
- if (!HLTlist) {
- Log("Missing list for the HLT");
- return 0;
- }
-
- if (HLTlist->GetSize() != 1) {
- Log(Form("Problem on the size of the list: %d (HLT)", HLTlist->GetSize()));
- return 0;
- }
-
- TObjString* location = (TObjString*) HLTlist->At(0);
- if (location == 0) {
- Log("Error in location HLT list.");
- return 0;
- }
- TString localFileName = GetFile(kHLT, fgkTempHistoFileName,
- location->String().Data());
-/*
- TFile localFile(localFileName);
- AliCDBMetaData meta("Sebastian Bablok");
-
- if (!(Store("Calib", kTempHistoFileName, (TObject*) &localFile, &meta, 0, kTRUE))) {
-*/
- if (!(StoreReferenceFile(localFileName.Data(), fgkTempHistoFileName))) {
- TString msg("Storing of object '");
- msg += fgkTempHistoFileName;
- msg += "' to Reference Storage failed!";
- Log(msg.Data());
- retVal = 1;
- // I think this is then really an error and should return an error code
- }
-
- return retVal;
-}
-
-
-Bool_t AliHLTPreprocessor::ProcessDCS() {
-// see header file for function documentation
- return kFALSE;
-}
-
+++ /dev/null
-//-*- Mode: C++ -*-
-// @(#) $Id$
-
-#ifndef ALI_HLT_PREPROCESSOR_H
-#define ALI_HLT_PREPROCESSOR_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 AliHLTPreprocessor.h
- * @author Kenneth Aamodt, Sebastian Bablok
- * @date 2007-12-06
- * @brief Declaration of the HLT preprocessor (used by the Offline Shuttle)
- */
-
-// see below for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
-
-#include "AliPreprocessor.h"
-
-/**
- * @class AliHLTPreprocessor
- * Implementation of the HLT version for the Shuttle Preprocessor.
- *
- * @author Sebastian Bablok, Kenneth Aamodt
- *
- * @date 2007-12-05
- */
-class AliHLTPreprocessor : public AliPreprocessor {
- public:
-
- /**
- * Constructor for AliHLTPreprocessor
- *
- * @param shuttle pointer to the hosting shuttle
- */
- AliHLTPreprocessor(AliShuttleInterface* shuttle);
-
- /**
- * Destructor for AliHLTPreprocessor
- */
- virtual ~AliHLTPreprocessor();
-
- /**
- * Function to initilaize the Preprocessor.
- *
- * @param run run number
- * @param startTime start time of data
- * @param endTime end time of data
- */
- virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
-
- /**
- * Function to process data. Inside the preparation and storing to OCDB
- * should be handled.
- *
- * @param dcsAliasMap the map containing aliases and corresponding DCS
- * values and timestamps
- *
- * @return 0 on success; a value greater than 0 refers to an error
- */
- virtual UInt_t Process(TMap* dcsAliasMap);
-
- /**
- * Indicates if DCS data can be processed.
- *
- * @return true if DCS data can be processed, else false.
- */
- virtual Bool_t ProcessDCS();
-
- /** Define for HuffmanTable number */
- static const Int_t fgkHuffmanTablesNum; // see above
-
- /** Define for HuffmanFileBase */
- static const char* fgkHuffmanFileBase; // see above
-
- /** Define for Detector used for Huffman table */
- static const char* fgkHuffmanFileDetector; // see above
-
- /** Define for Temperature Histogram filename */
- static const char* fgkTempHistoFileName; // see above
-
- /** Define for name of the HLT Preproc */
- static const char* fgkHLTPreproc; // see above
-
- protected:
-
- private:
- /**
- * Disabled Copy constructor
- * (parent class is disabled so derived class does the same)
- *
- * @param preproc would be the AliHLTPreproc object to make copy of
- */
- AliHLTPreprocessor(const AliHLTPreprocessor& preproc);
-
- /**
- * Disabled Assignment operator
- * (parent class is disabled so derived class does the same)
- *
- * @param rhs the AliHLTPreproc to assign from
- *
- * @return reference to assinged AliHLTPreproc
- */
- AliHLTPreprocessor& operator=(const AliHLTPreprocessor& rhs);
-
- /**
- * Stores the run number
- */
- Int_t fRun; // see above
-
- /**
- * Stores the start time
- */
- UInt_t fStartTime; // see above
-
- /**
- * Stores the end time
- */
- UInt_t fEndTime; // see above
-
-
- ClassDef(AliHLTPreprocessor, 2);
-
-};
-
-
-#endif
-
-
--- /dev/null
+// $Id: AliHLTModulePreprocessor.cxx 23039 2007-12-13 20:53:02Z richterm $
+
+//**************************************************************************
+//* 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 AliHLTModulePreprocessor.cxx
+ * @author Matthias Richter
+ * @date 2008-01-22
+ * @brief Base class for HLT module preprocessors
+ */
+
+#include <cassert>
+#include "AliHLTModulePreprocessor.h"
+#include "AliHLTPreprocessor.h"
+
+ClassImp(AliHLTModulePreprocessor)
+
+AliHLTModulePreprocessor::AliHLTModulePreprocessor()
+ :
+ fpContainer(NULL)
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+}
+
+AliHLTModulePreprocessor::~AliHLTModulePreprocessor()
+{
+ // see header file for function documentation
+}
+
+void AliHLTModulePreprocessor::SetContainer(AliHLTPreprocessor* pContainer)
+{
+ assert(fpContainer==NULL || fpContainer==pContainer || pContainer==NULL);
+ fpContainer=pContainer;
+}
+
+Int_t AliHLTModulePreprocessor::GetRun()
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetRun();
+}
+
+UInt_t AliHLTModulePreprocessor::GetStartTime()
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetStartTime();
+}
+
+UInt_t AliHLTModulePreprocessor::GetEndTime()
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetEndTime();
+}
+
+Bool_t AliHLTModulePreprocessor::Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData, Int_t validityStart, Bool_t validityInfinite)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->Store(pathLevel2, pathLevel3, object, metaData, validityStart, validityInfinite);
+}
+
+Bool_t AliHLTModulePreprocessor::StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->StoreReferenceData(pathLevel2, pathLevel3, object, metaData);
+}
+
+Bool_t AliHLTModulePreprocessor::StoreReferenceFile(const char* localFile, const char* gridFileName)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->StoreReferenceFile(localFile, gridFileName);
+}
+
+Bool_t AliHLTModulePreprocessor::StoreRunMetadataFile(const char* localFile, const char* gridFileName)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->StoreRunMetadataFile(localFile, gridFileName);
+}
+
+const char* AliHLTModulePreprocessor::GetFile(Int_t system, const char* id, const char* source)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetFile(system, id, source);
+}
+
+TList* AliHLTModulePreprocessor::GetFileSources(Int_t system, const char* id)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetFileSources(system, id);
+}
+
+TList* AliHLTModulePreprocessor::GetFileIDs(Int_t system, const char* source)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetFileIDs(system, source);
+}
+
+const char* AliHLTModulePreprocessor::GetRunParameter(const char* param)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetRunParameter(param);
+}
+
+AliCDBEntry* AliHLTModulePreprocessor::GetFromOCDB(const char* pathLevel2, const char* pathLevel3)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetFromOCDB(pathLevel2, pathLevel3);
+}
+
+const char* AliHLTModulePreprocessor::GetRunType()
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return 0;
+ return fpContainer->GetRunType();
+}
+
+void AliHLTModulePreprocessor::Log(const char* message)
+{
+ // see header file for function documentation
+
+ assert(fpContainer);
+ if (!fpContainer) return;
+ fpContainer->Log(message);
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// @(#) $Id: AliHLTModulePreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
+
+#ifndef ALIHLTMODULEPREPROCESSOR_H
+#define ALIHLTMODULEPREPROCESSOR_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 AliHLTModulePreprocessor.h
+ * @author Matthias Richter
+ * @date 2008-01-22
+ * @brief Base class for HLT module preprocessors
+ */
+
+// see below for class documentation
+// or
+// refer to README to build package
+// or
+// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+#include "TObject.h"
+
+class AliHLTPreprocessor;
+class TMap;
+class AliCDBMetaData;
+class AliCDBEntry;
+
+/**
+ * @class AliHLTModulePreprocessor
+ * Implementation of the HLT version for the Shuttle Preprocessor.
+ * This class implements the same interface as the AliPreprocessor and
+ * allows multiple preprocessors for the HLT. All methods are redirected
+ * to the AliHLTPreprocessor, which acts as the HLT preprocessor
+ * to the outside, and a container for all module preprocessors to the
+ * inside.
+ *
+ * @author Matthias Richter
+ */
+class AliHLTModulePreprocessor : public TObject
+{
+public:
+ /** Constructor*/
+ AliHLTModulePreprocessor();
+ /** Destructor */
+ virtual ~AliHLTModulePreprocessor();
+
+ /**
+ * Set the container class which is the gateway to the shuttle.
+ */
+ void SetContainer(AliHLTPreprocessor* pContainer);
+
+ /**
+ * Initialize the Preprocessor.
+ *
+ * @param run run number
+ * @param startTime start time of data
+ * @param endTime end time of data
+ */
+ virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime) = 0;
+
+ /**
+ * Function to process data. Inside the preparation and storing to OCDB
+ * should be handled.
+ *
+ * @param dcsAliasMap the map containing aliases and corresponding DCS
+ * values and timestamps
+ *
+ * @return 0 on success; error code otherwise
+ */
+ virtual UInt_t Process(TMap* dcsAliasMap) = 0;
+
+ /** Get the run no */
+ Int_t GetRun();
+
+ /** Get the start time */
+ UInt_t GetStartTime();
+
+ /** Get the end time */
+ UInt_t GetEndTime();
+
+protected:
+ // the AliPreprocessor interface, all functions redirected via the
+ // AliHLTPreprocessor
+ Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE);
+ Bool_t StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData);
+ Bool_t StoreReferenceFile(const char* localFile, const char* gridFileName);
+
+ Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName);
+
+ const char* GetFile(Int_t system, const char* id, const char* source);
+
+ TList* GetFileSources(Int_t system, const char* id = 0);
+
+ TList* GetFileIDs(Int_t system, const char* source);
+
+ const char* GetRunParameter(const char* param);
+
+ AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3);
+
+ const char* GetRunType();
+
+ void Log(const char* message);
+
+private:
+ /** copy constructor prohibited */
+ AliHLTModulePreprocessor(const AliHLTModulePreprocessor& preproc);
+ /** assignment operator prohibited */
+ AliHLTModulePreprocessor& operator=(const AliHLTModulePreprocessor& rhs);
+
+ /** the contaner class which is the gateway to the shuttle */
+ AliHLTPreprocessor* fpContainer; //! transient
+
+ ClassDef(AliHLTModulePreprocessor, 0);
+};
+
+
+#endif
+
+
--- /dev/null
+// $Id: AliHLTPreprocessor.cxx 23039 2007-12-13 20:53:02Z richterm $
+
+//**************************************************************************
+//* 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 AliHLTPreprocessor.cxx
+ * @author Matthias Richter
+ * @date 2008-01-22
+ * @brief Container for HLT module preprocessors, acts to the outside as
+ * HLT preprocessor used by the Offline Shuttle
+ */
+
+#include "AliHLTPreprocessor.h"
+#include "AliHLTModulePreprocessor.h"
+#include "AliHLTSystem.h"
+#include "AliHLTModuleAgent.h"
+#include "TSystem.h"
+
+ClassImp(AliHLTPreprocessor)
+
+AliHLTPreprocessor::AliHLTPreprocessor(AliShuttleInterface* shuttle)
+ :
+ AliPreprocessor(fgkHLTPreproc, shuttle),
+ fProcessors()
+{
+ // see header file for class documentation
+ // or
+ // refer to README to build package
+ // or
+ // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+
+ fProcessors.SetOwner();
+}
+
+const char* AliHLTPreprocessor::fgkHLTPreproc = "HLT";
+
+/** HLT default component libraries */
+const char* AliHLTPreprocessor::fgkHLTDefaultShuttleLibs[]= {
+ "libAliHLTUtil.so",
+ "libAliHLTTPC.so",
+ "libAliHLTComp.so",
+ "libAliHLTSample.so",
+ //"libAliHLTPHOS.so",
+ //"libAliHLTMUON.so",
+ "libAliHLTTRD.so",
+ NULL
+};
+
+AliHLTPreprocessor::~AliHLTPreprocessor()
+{
+ // see header file for function documentation
+}
+
+void AliHLTPreprocessor::Initialize(Int_t run, UInt_t startTime,
+ UInt_t endTime)
+{
+ // see header file for function documentation
+ fRun = run;
+ fStartTime = startTime;
+ fEndTime = endTime;
+
+// TString msg("Preprocessor for HLT initialized for run: ");
+// msg += run;
+// Log(msg.Data());
+
+ // load component libraries
+ TString libs;
+ const char** deflib=fgkHLTDefaultShuttleLibs;
+ while (*deflib) {
+ if (gSystem->Load(*deflib)==0) {
+ Log(Form("HLT component library %s loaded", *deflib));
+ }
+ }
+
+ AliHLTModuleAgent* pAgent=AliHLTModuleAgent::GetFirstAgent();
+ while (pAgent) {
+ AliHLTModulePreprocessor* pProc=pAgent->GetPreprocessor();
+ if (pProc) {
+ pProc->SetContainer(this);
+ pProc->Initialize(run, startTime, endTime);
+ fProcessors.Add(pProc);
+ TString msg;
+ msg.Form("added preprocessor %p for module %p", pProc, pAgent);
+ Log(msg.Data());
+ }
+ }
+}
+
+UInt_t AliHLTPreprocessor::Process(TMap* dcsAliasMap)
+{
+ // see header file for function documentation
+ UInt_t retVal = 0;
+
+ if (!GetHLTStatus()) {
+ return 0;
+ }
+
+ bool bAllFailed=true;
+ TObjLink *lnk = NULL;
+ lnk=fProcessors.FirstLink();
+ while (lnk) {
+ AliHLTModulePreprocessor* pProc=dynamic_cast<AliHLTModulePreprocessor*>(lnk->GetObject());
+ if (pProc) {
+ UInt_t result=pProc->Process(dcsAliasMap);
+ if (result) {
+ TString msg;
+ msg.Form("preprocessor for module %s failed with error code %d", pProc->GetName(), result);
+ Log(msg.Data());
+ } else {
+ bAllFailed=false;
+ }
+ }
+ lnk = lnk->Next();
+ }
+
+ if (bAllFailed) return 1;
+ return retVal;
+}
+
+
+Bool_t AliHLTPreprocessor::ProcessDCS()
+{
+ // see header file for function documentation
+ return kFALSE;
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// @(#) $Id: AliHLTPreprocessor.h 23318 2008-01-14 12:43:28Z hristov $
+
+#ifndef ALIHLTPREPROCESSOR_H
+#define ALIHLTPREPROCESSOR_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 AliHLTPreprocessor.h
+ * @author Matthias Richter
+ * @date 2008-01-22
+ * @brief Container for HLT module preprocessors, acts to the outside as
+ * HLT preprocessor used by the Offline Shuttle
+ */
+
+#include "TList.h"
+#include "AliPreprocessor.h"
+
+/**
+ * @class AliHLTPreprocessor
+ * Implementation of the HLT version for the Shuttle Preprocessor.
+ * Since HLT requires a more modular concept of the pre-processors, this
+ * class acts as HLT pre-processor to the outside and container class for
+ * the specific HLT module pre-processors to the inside.
+ *
+ * The base class for HLT module preprocessors is provided by the
+ * AliHLTModulePreprocessor class, which implements the same interface as
+ * the AliPreprocessor.
+ *
+ * The main purpose of the container class is to loop over all module
+ * preprocessors and to make the AliPreprocessor interface methods
+ * publicly available.
+ */
+class AliHLTPreprocessor : public AliPreprocessor
+{
+ public:
+ /**
+ * Constructor for AliHLTPreprocessor
+ *
+ * @param shuttle pointer to the hosting shuttle
+ */
+ AliHLTPreprocessor(AliShuttleInterface* shuttle);
+ /** Destructor */
+ virtual ~AliHLTPreprocessor();
+
+ /**
+ * Initialize the Preprocessor.
+ *
+ * @param run run number
+ * @param startTime start time of data
+ * @param endTime end time of data
+ */
+ virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
+
+ /**
+ * Function to process data. Inside the preparation and storing to OCDB
+ * should be handled.
+ *
+ * @param dcsAliasMap the map containing aliases and corresponding DCS
+ * values and timestamps
+ *
+ * @return 0 on success; a value greater than 0 refers to an error
+ */
+ virtual UInt_t Process(TMap* dcsAliasMap);
+
+ /**
+ * Indicates if DCS data can be processed.
+ *
+ * @return true if DCS data can be processed, else false.
+ */
+ virtual Bool_t ProcessDCS();
+
+ /** Define for name of the HLT Preproc */
+ static const char* fgkHLTPreproc; // see above
+
+ /** Get the run no which has been previously initialized */
+ Int_t GetRun() {return fRun;}
+
+ /** Get the start time no which has been previously initialized */
+ UInt_t GetStartTime() {return fStartTime;}
+
+ /** Get the end time no which has been previously initialized */
+ UInt_t GetEndTime() {return fEndTime;}
+
+
+ // AliPreprocessor methods made publicly available
+ //
+ Bool_t Store(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData, Int_t validityStart = 0, Bool_t validityInfinite = kFALSE) {
+ return AliPreprocessor::Store(pathLevel2, pathLevel3, object, metaData, validityStart, validityInfinite);
+ }
+
+ Bool_t StoreReferenceData(const char* pathLevel2, const char* pathLevel3, TObject* object,
+ AliCDBMetaData* metaData) {
+ return AliPreprocessor::StoreReferenceData(pathLevel2, pathLevel3, object, metaData);
+ }
+
+ Bool_t StoreReferenceFile(const char* localFile, const char* gridFileName) {
+ return AliPreprocessor::StoreReferenceFile(localFile, gridFileName);
+ }
+
+ Bool_t StoreRunMetadataFile(const char* localFile, const char* gridFileName) {
+ return AliPreprocessor::StoreRunMetadataFile(localFile, gridFileName);
+ }
+
+ const char* GetFile(Int_t system, const char* id, const char* source) {
+ return AliPreprocessor::GetFile(system, id, source);
+ }
+
+ TList* GetFileSources(Int_t system, const char* id = 0) {
+ return AliPreprocessor::GetFileSources(system, id);
+ }
+
+ TList* GetFileIDs(Int_t system, const char* source) {
+ return AliPreprocessor::GetFileIDs(system, source);
+ }
+
+ const char* GetRunParameter(const char* param) {
+ return AliPreprocessor::GetRunParameter(param);
+ }
+
+ AliCDBEntry* GetFromOCDB(const char* pathLevel2, const char* pathLevel3) {
+ return AliPreprocessor::GetFromOCDB(pathLevel2, pathLevel3);
+ }
+
+ const char* GetRunType() {
+ return AliPreprocessor::GetRunType();
+ }
+
+ void Log(const char* message) {
+ AliPreprocessor::Log(message);
+ }
+
+ protected:
+
+ private:
+ /** copy constructor prohibited */
+ AliHLTPreprocessor(const AliHLTPreprocessor& preproc);
+ /** assignment operator prohibited */
+ AliHLTPreprocessor& operator=(const AliHLTPreprocessor& rhs);
+
+ /** list of HLT module processors */
+ TList fProcessors; //!transient
+
+ /** array of default libraries */
+ static const char* fgkHLTDefaultShuttleLibs[]; //!transient
+
+ ClassDef(AliHLTPreprocessor, 0);
+};
+#endif
+
+
--- /dev/null
+# $Id: Makefile.am 21852 2007-10-29 18:45:22Z richterm $
+# Makefile template for the Alice HLT shuttle
+
+MODULE = HLTshuttle
+
+SUBDIRS =
+
+EXTRA_DIST =
+
+# library definition
+lib_LTLIBRARIES = libHLTshuttle.la
+
+# version info for the library
+LIBRARY_VERSION = "$(LIBHLTSHUTTLE_VERSION):0:0"
+
+# MODDIR is set by the AliRoot build system and denotes the topdir
+# of the module, we must set it since the package definition libHLTshuttle.pkg
+# includes another common configuration file
+MODDIR = $(top_srcdir)
+PKGDEF = $(MODDIR)/libHLTshuttle.pkg
+include $(top_srcdir)/libHLTshuttle.pkg
+
+# compiler flags
+AM_CPPFLAGS = -DMODULE=$(MODULE) \
+ $(PACKCXXFLAGS) \
+ $(foreach i, $(EINCLUDE), \
+ $(shell echo $(i) | sed -e "/HLT\//!d" -e "s|HLT/|-I$(top_srcdir)/|")) \
+ $(foreach i, $(EINCLUDE), \
+ $(shell echo $(i) | sed -e "/HLT\//d" -e "s|^|-I$(ALICE_ROOT)/|"))
+# library sources
+libHLTshuttle_la_SOURCES = $(MODULE_SRCS)
+
+# library headers
+pkginclude_HEADERS = $(MODULE_HDRS)
+
+# linker flags
+libHLTshuttle_la_LDFLAGS = -L@ROOTLIBDIR@ \
+ @ROOTLIBS@ \
+ @ALIROOT_LDFLAGS@ \
+ @ALIROOT_LIBS@ \
+ -version-info $(LIBRARY_VERSION)
+
+# automatic generation of data and time of library build
+COMPILE_INFO = HLTshuttleCompileInfo.cxx
+
+# set the file name for the generated root dictionary
+DICTCPP = HLTshuttle-DICT.cxx
+nodist_libHLTshuttle_la_SOURCES = $(COMPILE_INFO) \
+ $(DICTCPP)
+
+CLEANFILES = $(COMPILE_INFO)
+
+include $(top_srcdir)/make.dict
+
+$(COMPILE_INFO): $(libHLTshuttle_la_SOURCES) $(pkginclude_HEADERS) $(noinst_HEADERS) Makefile.am
+ @echo '//automatically generated compilation info' > $@
+ @echo '//!!! DO NOT EDIT THIS FILE !!!' >> $@
+ @echo '//add changes in Makefile.am' >> $@
+ @echo 'extern "C" void CompileInfo( char*& date, char*& time)' >> $@
+ @echo '{date=__DATE__; time=__TIME__; return;}' >> $@