//-*- Mode: C++ -*- // $Id$ #ifndef ALIHLTVZERORECOCOMPONENT_H #define ALIHLTVZERORECOCOMPONENT_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 AliHLTVZERORecoComponent.h @author Jochen Thaeder @brief VZERO reconstruction component */ // see below for class documentation // or // refer to README to build package // or // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt #include "AliHLTProcessor.h" class TTree; class AliRunInfo; class AliESDVZERO; class AliRawReaderMemory; class AliVZERORecoParam; class AliVZEROReconstructor; /** * @class AliHLTVZERORecoComponent * Reconstruction of VZERO data * *

General properties:

* * Component ID: \b VZEROReconstruction
* Library: \b libAliHLTVZERO.so
* Input Data Types: @ref kAliHLTDataTypeDDLRaw
* Output Data Types: @ref kAliHLTDataTypeESDContent|kAliHLTDataOriginVZERO
* *

Mandatory arguments:

* * *

Optional arguments:

* * *

Configuration:

* * *

Default CDB entries:

* * * HLT/ConfigVZERO/VZEROReconstruction * \li -TObjString object holding a string with the configuration parameters * currently empty * * GRP/GRP/Data * \li -GRP object - run information * * GRP/CTP/CTPtiming * \li -GRP object - CTP information * * GRP/CTP/TimeAlign * \li -GRP object - CTP information * * GRP/Calib/LHCClockPhase * \li -GRP object - time calibration * * VZERO/Calib/Data * \li -VZERO calibration object * * VZERO/Calib/TimeDelays * \li -VZERO calibration object * * VZERO/Calib/TimeSlewing * \li -VZERO calibration object * *

Performance:

* *

Memory consumption:

* *

Input size:

* * * \li pp: 5968 Byte * *

Output size:

* * * \li pp: Average : 1.8 kByte * *

Macros Tests

* * * macros/makeConfigurationObjectVZEROReconstruction.C * \li - Create configuration TObjString * * macros/HLTVZEROTest.C * \li - Test macro for VZERO test in off-line environment * * macros/runVZEROTest.sh * \li - Run Test macro HLTVZEROTest.C * * @ingroup alihlt_vzero */ class AliHLTVZERORecoComponent : public AliHLTProcessor { public: /* * --------------------------------------------------------------------------------- * Constructor / Destructor * --------------------------------------------------------------------------------- */ /** constructor */ AliHLTVZERORecoComponent(); /** destructor */ virtual ~AliHLTVZERORecoComponent(); /* * --------------------------------------------------------------------------------- * Public functions to implement AliHLTComponent's interface. * These functions are required for the registration process * --------------------------------------------------------------------------------- */ /** interface function, see @ref AliHLTComponent for description */ const Char_t* GetComponentID(); /** interface function, see @ref AliHLTComponent for description */ void GetInputDataTypes( vector& list); /** interface function, see @ref AliHLTComponent for description */ AliHLTComponentDataType GetOutputDataType(); /** interface function, see @ref AliHLTComponent for description */ void GetOutputDataSize( ULong_t& constBase, Double_t& inputMultiplier ); /** interface function, see @ref AliHLTComponent for description */ void GetOCDBObjectDescription( TMap* const targetMap); /** interface function, see @ref AliHLTComponent for description */ AliHLTComponent* Spawn(); protected: /* * --------------------------------------------------------------------------------- * Protected functions to implement AliHLTComponent's interface. * These functions provide initialization as well as the actual processing * capabilities of the component. * --------------------------------------------------------------------------------- */ // AliHLTComponent interface functions /** interface function, see @ref AliHLTComponent for description */ Int_t DoInit( Int_t argc, const Char_t** argv ); /** interface function, see @ref AliHLTComponent for description */ Int_t DoDeinit(); /** interface function, see @ref AliHLTComponent for description */ Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); using AliHLTProcessor::DoEvent; /** interface function, see @ref AliHLTComponent for description */ Int_t ScanConfigurationArgument(Int_t argc, const Char_t** argv); /** interface function, see @ref AliHLTComponent for description */ Int_t Reconfigure(const Char_t* cdbEntry, const Char_t* chainId); /** interface function, see @ref AliHLTComponent for description */ Int_t ReadPreprocessorValues(const Char_t* modules); /////////////////////////////////////////////////////////////////////////////////// private: /* * --------------------------------------------------------------------------------- * Private functions to implement AliHLTComponent's interface. * These functions provide initialization as well as the actual processing * capabilities of the component. * --------------------------------------------------------------------------------- */ /** copy constructor prohibited */ AliHLTVZERORecoComponent(const AliHLTVZERORecoComponent&); /** assignment operator prohibited */ AliHLTVZERORecoComponent& operator=(const AliHLTVZERORecoComponent&); /* * --------------------------------------------------------------------------------- * Members - private * --------------------------------------------------------------------------------- */ /** runInfo Object */ AliRunInfo *fRunInfo; // see above /** VZERO reco param instance */ AliVZERORecoParam *fVZERORecoParam; //! transient /** VZERO reconstructor instance */ AliVZEROReconstructor *fVZEROReconstructor; //! transient /** Rawreader instance */ AliRawReaderMemory *fRawReader; //! transient ClassDef(AliHLTVZERORecoComponent, 0) }; #endif