+//-*- Mode: C++ -*-
// $Id$
#ifndef ALIHLTTRDCLUSTERIZERCOMPONENT_H
#define ALIHLTTRDCLUSTERIZERCOMPONENT_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
+//* 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 AliHLTTRDClusterizerComponent.h
- @author Timm Steinbeck, Matthias Richter
+ @author
@date
- @brief Declaration of a TRDClusterizer component. */
+ @brief Declaration of a TRDClusterizer component.
+*/
#include "AliHLTProcessor.h"
class AliCDBManager;
-class AliTRDclusterizerHLT;
+class AliHLTTRDClusterizer;
class AliRawReaderMemory;
class TFile;
-class TGeoManager;
+class AliTRDrecoParam;
+class AliTRDReconstructor;
/**
* @class AliHLTTRDClusterizerComponent
* @ingroup alihlt_tutorial
*/
class AliHLTTRDClusterizerComponent : public AliHLTProcessor
- {
- public:
- AliHLTTRDClusterizerComponent();
- virtual ~AliHLTTRDClusterizerComponent();
-
- // Public functions to implement AliHLTComponent's interface.
- // These functions are required for the registration process
-
- const char* GetComponentID();
- void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
- AliHLTComponent_DataType GetOutputDataType();
- virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
- AliHLTComponent* Spawn();
+{
+public:
+ AliHLTTRDClusterizerComponent();
+ virtual ~AliHLTTRDClusterizerComponent();
+
+ // Public functions to implement AliHLTComponent's interface.
+ // These functions are required for the registration process
+
+ const char* GetComponentID();
+ void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
+ AliHLTComponentDataType GetOutputDataType();
+ int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
+ virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
+ AliHLTComponent* Spawn();
- protected:
+protected:
- // Protected functions to implement AliHLTComponent's interface.
- // These functions provide initialization as well as the actual processing
- // capabilities of the component.
+ // Protected functions to implement AliHLTComponent's interface.
+ // These functions provide initialization as well as the actual processing
+ // capabilities of the component.
- int DoInit( int argc, const char** argv );
- int DoDeinit();
- int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
- AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
- AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
+ int DoInit( int argc, const char** argv );
+ int DoDeinit();
+ int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
+ AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
+ AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
+ int Reconfigure(const char* cdbEntry, const char* chainId);
+ void PrintObject( TClonesArray* inClustersArray);
- using AliHLTProcessor::DoEvent;
+ using AliHLTProcessor::DoEvent;
+
+ int Configure(const char* arguments);
+ int SetParams();
- private:
+protected:
+ /** copy constructor prohibited */
+ AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
+ /** assignment operator prohibited */
+ AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
- // The size of the output data produced, as a percentage of the input data's size.
- // Can be greater than 100 (%)
+ // The size of the output data produced, as a percentage of the input data's size.
+ // Can be greater than 100 (%)
- unsigned fOutputPercentage; // Output volume in percentage of the input
+ unsigned int fOutputPercentage; // Output volume in percentage of the input
+ unsigned int fOutputConst;
- string fStrorageDBpath; // Default path for OCDB
+ AliHLTTRDClusterizer *fClusterizer; //! Offline derived HLT clusterizer
+ AliTRDrecoParam *fRecoParam; //! Offline reco params
+ AliRawReaderMemory *fMemReader; //! Input raw data reader
+ AliTRDReconstructor *fReconstructor;
- AliTRDclusterizerHLT *fClusterizer; //! Offline derived HLT clusterizer
- AliCDBManager *fCDB; //! Pointer to OCDB
- AliRawReaderMemory *fMemReader; //! Input raw data reader
+ Int_t fRecoParamType; // default will be the low flux
+ Int_t fRecoDataType; // default will be simulation
+ Int_t fRawDataVersion; // depreceated ?
+ Int_t fyPosMethod; // 0=COG 1=LUT 2=Gauss
+ TString fgeometryFileName;
+ Bool_t fProcessTracklets; // write the L1 tracklets to output
+ Bool_t fHLTstreamer; // use FastStreamer
+ Bool_t fTC; // using tail cancellation
+ Bool_t fHLTflag; // use HLT flag in reconstructor
+ Bool_t fHighLevelOutput; // do we what to have high level output (only for debuging)
+ Bool_t fEmulateHLTClusters; // for debugging data containers
- string fGeometryFileName; // Path to geometry file
- TFile *fGeometryFile; //! // Pointer to the geom root file
- TGeoManager *fGeoManager; //! Pointer to geometry manager
-
- ClassDef(AliHLTTRDClusterizerComponent, 0)
+ ClassDef(AliHLTTRDClusterizerComponent, 5)
- };
+};
#endif