//* provided "as is" without express or implied warranty. *
//**************************************************************************
-/** @file AliHLTReconstructor.cxx
- @author Matthias Richter
- @date
- @brief Binding class for HLT reconstruction in AliRoot. */
+// @file AliHLTReconstructor.cxx
+// @author Matthias Richter
+// @date
+// @brief Binding class for HLT reconstruction in AliRoot
+// Implements bot the interface to run HLT chains embedded into
+// AliReconstruction and the unpacking and treatment of HLTOUT
#include <TSystem.h>
#include <TObjString.h>
class AliCDBEntry;
+/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTReconstructor)
AliHLTReconstructor::AliHLTReconstructor()
- :
- AliReconstructor(),
- fFctProcessHLTOUT(NULL),
- fpEsdManager(NULL),
- fpPluginBase(new AliHLTPluginBase)
+ : AliReconstructor()
+ , fpEsdManager(NULL)
+ , fpPluginBase(new AliHLTPluginBase)
, fFlags(0)
{
//constructor
}
AliHLTReconstructor::AliHLTReconstructor(const char* options)
- :
- AliReconstructor(),
- fFctProcessHLTOUT(NULL),
- fpEsdManager(NULL),
- fpPluginBase(new AliHLTPluginBase)
+ : AliReconstructor()
+ , fpEsdManager(NULL)
+ , fpPluginBase(new AliHLTPluginBase)
, fFlags(0)
{
//constructor
}
if (!pSystem->CheckStatus(AliHLTSystem::kReady)) {
- typedef int (*AliHLTSystemSetOptions)(AliHLTSystem* pInstance, const char* options);
- gSystem->Load("libHLTinterface.so");
- AliHLTSystemSetOptions pFunc=(AliHLTSystemSetOptions)(gSystem->DynFindSymbol("libHLTinterface.so", "AliHLTSystemSetOptions"));
- if (pFunc) {
- if ((pFunc)(pSystem, option.Data())<0) {
+ if (pSystem->ScanOptions(option.Data())<0) {
AliError("error setting options for HLT system");
- return;
- }
- } else if (option.Length()>0) {
- AliError(Form("version of HLT system does not support the options \'%s\'", option.Data()));
return;
}
if ((pSystem->Configure())<0) {
}
}
- gSystem->Load("libHLTinterface.so");
- fFctProcessHLTOUT=(void (*)())gSystem->DynFindSymbol("libHLTinterface.so", "AliHLTSystemProcessHLTOUT");
-
fpEsdManager=AliHLTEsdManager::New();
fpEsdManager->SetOption(esdManagerOptions.Data());
}
}
- if (fFctProcessHLTOUT) {
- typedef int (*AliHLTSystemProcessHLTOUT)(AliHLTSystem* pInstance, AliHLTOUT* pHLTOUT, AliESDEvent* esd);
- AliHLTSystemProcessHLTOUT pFunc=(AliHLTSystemProcessHLTOUT)fFctProcessHLTOUT;
- if ((pFunc)(pSystem, pHLTOUT, esd)<0) {
- AliError("error processing HLTOUT");
- }
+ if (pSystem->ProcessHLTOUT(pHLTOUT, esd)<0) {
+ AliError("error processing HLTOUT");
}
+
if (bVerbose) {
AliInfo("HLT ESD content:");
esd->Print();
-// @(#) $Id$
+//-*- Mode: C++ -*-
+// $Id$
#ifndef ALIHLTRECONSTRUCTOR_H
#define ALIHLTRECONSTRUCTOR_H
//* ALICE Experiment at CERN, All rights reserved. *
//* See cxx source for full Copyright notice *
-/** @file AliHLTReconstructor.h
- @author Matthias Richter
- @date
- @brief Binding class for HLT simulation in AliRoot
-*/
+// @file AliHLTReconstructor.h
+// @author Matthias Richter
+// @date
+// @brief Binding class for HLT reconstruction in AliRoot
+// Implements bot the interface to run HLT chains embedded into
+// AliReconstruction and the unpacking and treatment of HLTOUT
#include "AliReconstructor.h"
/** assignment operator prohibited */
AliHLTReconstructor& operator=(const AliHLTReconstructor& src);
- /** function pointer: processing of HLTOUT data */
- void (*fFctProcessHLTOUT)(); //!transient
-
/** ESD manger instance for this reconstruction */
AliHLTEsdManager* fpEsdManager; //!transient
static const char* fgkCalibStreamerInfoEntry; //! OCDB path
- ClassDef(AliHLTReconstructor, 7) // class for the HLT reconstruction
+ ClassDef(AliHLTReconstructor, 8) // class for the HLT reconstruction
};