+++ /dev/null
-// $Id$
-
-/**************************************************************************
- * 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 AliHLTOfflineDataSink.cxx
- @author Matthias Richter
- @date
- @brief AliRoot data sink component base class.
-*/
-
-#include "AliHLTOfflineDataSink.h"
-
-/** ROOT macro for the implementation of ROOT specific class methods */
-ClassImp(AliHLTOfflineDataSink)
-
-AliHLTOfflineDataSink::AliHLTOfflineDataSink()
-{
- // see header file for class documentation
- // or
- // refer to README to build package
- // or
- // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
- Register(this);
-}
-
-AliHLTOfflineDataSink::~AliHLTOfflineDataSink()
-{
- // see header file for class documentation
- Unregister(this);
-}
+++ /dev/null
-// -*- Mode: C++ -*-
-// $Id$
-
-#ifndef ALIHLTOFFLINEDATASINK_H
-#define ALIHLTOFFLINEDATASINK_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 AliHLTOfflineDataSink.h
- @author Matthias Richter
- @date
- @brief AliRoot data sink component base class.
-*/
-
-// see below for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
-
-#include "AliHLTDataSink.h"
-#include "AliHLTOfflineInterface.h"
-
-/******************************************************************************/
-
-/**
- * @class AliHLTOfflineDataSink
- * The class implements a AliRoot data sink component base class.
- * The child class must implement the functions:
- * - @ref DoInit (optional)
- * - @ref DoDeinit (optional)
- * - @ref DumpEvent
- * - @ref GetComponentID
- * - @ref GetInputDataTypes
- * - @ref Spawn
- * - @ref FillESD
- *
- * @note This class is only used for the @ref alihlt_system.
- *
- * @note This class is very likely to be deprecated. According to the new
- * reconstruction scheme, the esd is no longer filled by components in the
- * reconstruction chain, but added to the HLTOUT data. The HLTOUT is
- * processed during AliReconstruction at the end of the HLT event processing,
- * literally during the FillESD method of the AliRoot reconstruction
- * interface. The HLT module must implement HLTOUT handlers and provide
- * those through the module agent.
- *
- * @ingroup alihlt_system
- */
-class AliHLTOfflineDataSink
-: public AliHLTDataSink, public AliHLTOfflineInterface
-{
- public:
- /** standard constructor */
- AliHLTOfflineDataSink();
- /** destructor */
- virtual ~AliHLTOfflineDataSink();
-
- private:
- /** copy constructor prohibited */
- AliHLTOfflineDataSink(const AliHLTOfflineDataSink&);
- /** assignment operator prohibited */
- AliHLTOfflineDataSink& operator=(const AliHLTOfflineDataSink&);
-
- ClassDef(AliHLTOfflineDataSink, 1);
-};
-
-#endif
// $Id$
/**************************************************************************
- * This file is property of and copyright by the ALICE HLT Project *
+ * This file is property of and copyright by the *
* ALICE Experiment at CERN, All rights reserved. *
* *
* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
* provided "as is" without express or implied warranty. *
**************************************************************************/
-/** @file AliHLTOfflineDataSource.cxx
- @author Matthias Richter
- @date
- @brief AliRoot data source component base class.
-*/
+/// @file AliHLTOfflineDataSource.cxx
+/// @author Matthias Richter
+/// @date
+/// @brief AliRoot data source component base class.
+///
#include "AliHLTOfflineDataSource.h"
AliHLTOfflineDataSource::AliHLTOfflineDataSource()
{
- // see header file for class documentation
- // or
- // refer to README to build package
- // or
- // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+ // The class implements an AliRoot data source component base class.
+ // Main purpose is to provide the access to RunLoader and RawReader
+ // of the AliRoot simulation/reconstruction
+ // Child classes implement the normal component functions to
+ // facilitate the interface
Register(this);
}
AliHLTOfflineDataSource::~AliHLTOfflineDataSource()
{
- // see header file for class documentation
+ // destructor
Unregister(this);
}
#ifndef ALIHLTOFFLINEDATASOURCE_H
#define ALIHLTOFFLINEDATASOURCE_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 */
+///* This file is property of and copyright by the *
+///* ALICE Experiment at CERN, All rights reserved. *
+///* See cxx source for full Copyright notice *
-/** @file AliHLTOfflineDataSource.h
- @author Matthias Richter
- @date
- @brief AliRoot data sink component base class.
-*/
-
-// see below for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+/// @file AliHLTOfflineDataSource.h
+/// @author Matthias Richter
+/// @date
+/// @brief AliRoot data sink component base class.
+///
#include "AliHLTDataSource.h"
#include "AliHLTOfflineInterface.h"
/** assignment operator prohibited */
AliHLTOfflineDataSource& operator=(const AliHLTOfflineDataSource&);
- ClassDef(AliHLTOfflineDataSource, 1);
+ ClassDef(AliHLTOfflineDataSource, 0);
};
#endif
// $Id$
-/**************************************************************************
- * 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 AliHLTOfflineInterface.cxx
- @author Matthias Richter
- @date
- @brief the HLT interface to AliRoot
-*/
+//**************************************************************************
+//* This file is property of and copyright by the *
+//* 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 AliHLTOfflineInterface.cxx
+/// @author Matthias Richter
+/// @date
+/// @brief the HLT interface to AliRoot
+///
#include "AliHLTOfflineInterface.h"
#include "AliHLTLogging.h"
fpESD(NULL),
fpNext(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
+ // The class implements the basic interface to the AliRoot objects during
+ // reconstructions.
+ // It serves as a base class for offline source and sink interface components
+ // and provides access methods for the AliRunLoader, AliRawReader and AliESDEvent
+ // objects. The AliRunLoader and the AliRawReader are fixed during one run,
+ // while the AliESDEvent object will be changed from event to event.<br>
+ // \em Note: The digits and clusters trees are not available through this
+ // interface class as they are completetly detector (AliLoader) dependend.
}
-AliHLTOfflineInterface* AliHLTOfflineInterface::fAnchor=NULL;
-AliHLTOfflineInterface* AliHLTOfflineInterface::fCurrent=NULL;
-int AliHLTOfflineInterface::fCount=0;
+AliHLTOfflineInterface* AliHLTOfflineInterface::fgAnchor=NULL;
+AliHLTOfflineInterface* AliHLTOfflineInterface::fgCurrent=NULL;
+int AliHLTOfflineInterface::fgCount=0;
AliRunLoader* AliHLTOfflineInterface::fgpRunLoader=NULL;
AliRawReader* AliHLTOfflineInterface::fgpRawReader=NULL;
fpESD(NULL),
fpNext(NULL)
{
+ // constructor
}
AliHLTOfflineInterface::~AliHLTOfflineInterface()
{
+ // destructor
}
AliRunLoader* AliHLTOfflineInterface::GetRunLoader() const
{
+ // set RawReader pointer
return fpRunLoader!=NULL?fpRunLoader:fgpRunLoader;
}
AliRawReader* AliHLTOfflineInterface::GetRawReader() const
{
+ // get RawReader pointer
return fpRawReader!=NULL?fpRawReader:fgpRawReader;
}
int AliHLTOfflineInterface::SetESD(Int_t /*eventNo*/, AliESDEvent* pESD)
{
+ // set ESD pointer
fpESD=pESD;
return 0;
}
AliESDEvent* AliHLTOfflineInterface::GetESD() const
{
+ // get ESD pointer
return fpESD;
}
int AliHLTOfflineInterface::SetParams(AliRunLoader* runLoader, AliRawReader* rawReader)
{
- // see header file for class documentation
+ // set parameters of the interface
int iResult=0;
if (fpRunLoader!=NULL && fpRunLoader!=runLoader) {
//HLTWarning("overriding previous instance of Run Loader %p with %p", fpRunLoader, runLoader);
int AliHLTOfflineInterface::SetParamsToComponents(AliRunLoader* runLoader, AliRawReader* rawReader)
{
- // see header file for class documentation
+ // pass parameters to registered components
AliHLTLogging log;
int iResult=0;
int count=0;
fgpRunLoader=runLoader;
fgpRawReader=rawReader;
- AliHLTOfflineInterface* pCurrent=fAnchor;
+ AliHLTOfflineInterface* pCurrent=fgAnchor;
while (pCurrent!=NULL) {
int iLocal=0;
if (pCurrent) iLocal=pCurrent->SetParams(runLoader, rawReader);
int AliHLTOfflineInterface::ResetComponents()
{
- // see header file for class documentation
+ // loop over registered components and call Reset
int iResult=0;
- AliHLTOfflineInterface* pCurrent=fAnchor;
+ AliHLTOfflineInterface* pCurrent=fgAnchor;
while (pCurrent!=NULL) {
int iLocal=0;
if (pCurrent) iLocal=pCurrent->Reset();
int AliHLTOfflineInterface::FillComponentESDs(int eventNo, AliRunLoader* runLoader, AliESDEvent* esd)
{
- // see header file for class documentation
+ // loop ove registered components and call FillESD function
int iResult=0;
- AliHLTOfflineInterface* pCurrent=fAnchor;
+ AliHLTOfflineInterface* pCurrent=fgAnchor;
while (pCurrent!=NULL) {
int iLocal=0;
if (pCurrent) {
int AliHLTOfflineInterface::Register(AliHLTOfflineInterface* me)
{
- // see header file for function documentation
+ // register a component in the list of offline interface components
int iResult=0;
- if (fAnchor==NULL) {
- fAnchor=me;
+ if (fgAnchor==NULL) {
+ fgAnchor=me;
} else {
- me->fpNext=fAnchor;
- fAnchor=me;
+ me->fpNext=fgAnchor;
+ fgAnchor=me;
}
- fCount++;
+ fgCount++;
return iResult;
}
int AliHLTOfflineInterface::Unregister(AliHLTOfflineInterface* me)
{
- // see header file for function documentation
+ // remove a component from the list
int iResult=0;
- fCurrent=NULL;
+ fgCurrent=NULL;
AliHLTOfflineInterface* prev=NULL;
- AliHLTOfflineInterface* handler=fAnchor;
+ AliHLTOfflineInterface* handler=fgAnchor;
while (handler!=NULL && handler!=me) {
prev=handler;
handler=handler->fpNext;
}
if (handler) {
if (prev==NULL) {
- fAnchor=handler->fpNext;
+ fgAnchor=handler->fpNext;
} else {
prev->fpNext=handler->fpNext;
}
- fCount--;
+ fgCount--;
}
return iResult;
}
#ifndef ALIHLTOFFLINEINTERFACE_H
#define ALIHLTOFFLINEINTERFACE_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 AliHLTOfflineInterface.h
- @author Matthias Richter
- @date
- @brief the HLT interface to AliRoot
-*/
-
-// see below for class documentation
-// or
-// refer to README to build package
-// or
-// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
+//* This file is property of and copyright by the *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* See cxx source for full Copyright notice *
+
+/// @file AliHLTOfflineInterface.h
+/// @author Matthias Richter
+/// @date
+/// @brief the HLT interface to AliRoot
+///
#include <TObject.h>
#include <TList.h>
AliESDEvent* fpESD; //! transient
/** the list of active interfaces */
- static AliHLTOfflineInterface* fAnchor; //! transient
+ static AliHLTOfflineInterface* fgAnchor; //! transient
/** next element in the list */
AliHLTOfflineInterface* fpNext; //! transient
/** the current element */
- static AliHLTOfflineInterface* fCurrent; //! transient
+ static AliHLTOfflineInterface* fgCurrent; //! transient
/** number of interfaces */
- static int fCount; //! see above
+ static int fgCount; //! see above
- ClassDef(AliHLTOfflineInterface, 3);
+ ClassDef(AliHLTOfflineInterface, 0);
};
#endif
#pragma link C++ class AliHLTDataSink+;
#pragma link C++ class AliHLTOfflineInterface+;
#pragma link C++ class AliHLTOfflineDataSource+;
-#pragma link C++ class AliHLTOfflineDataSink+;
#pragma link C++ class AliHLTModuleAgent+;
#pragma link C++ class AliHLTModulePreprocessor+;
#pragma link C++ class AliHLTShuttleInterface+;
AliHLTDataSink.h
AliHLTOfflineInterface.h
AliHLTOfflineDataSource.h
- AliHLTOfflineDataSink.h
AliHLTModuleAgent.h
AliHLTModulePreprocessor.h
AliHLTShuttleInterface.h