X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2FCALO%2FAliHLTCaloRawAnalyzerComponentv3.h;h=f8576ac7fb563c49b372911fa28ec6c36f12e6b7;hb=09828f52187a2b9a48e5b5725b2d16a37aeb958c;hp=84e87950788d94b7c6afc4b8e46ef267a404bf25;hpb=a97058074bb6bfdc3ad4bc1e6ffdd674a823e95b;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/CALO/AliHLTCaloRawAnalyzerComponentv3.h b/HLT/CALO/AliHLTCaloRawAnalyzerComponentv3.h index 84e87950788..f8576ac7fb5 100644 --- a/HLT/CALO/AliHLTCaloRawAnalyzerComponentv3.h +++ b/HLT/CALO/AliHLTCaloRawAnalyzerComponentv3.h @@ -25,7 +25,7 @@ * @file AliHLTCaloRawAnalyzerComponentv3.h * @author Oystein Djuvsland * @date - * @brief A clusterizer component for PHOS HLT + * @brief Extraction of Amplitude and Peak position for PHOS/EMCAL HLT */ // see below for class documentation @@ -34,8 +34,6 @@ // or // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt -//#include "AliHLTCaloRcuProcessor.h" - class AliCaloRawAnalyzer; class AliHLTCaloRcuCellEnergyDataStruct; @@ -96,64 +94,37 @@ class AliAltroRawStreamV3; */ +// #include "AliHLTProcessor.h" +// #include "AliHLTCaloDefinitions.h" -#include "AliHLTProcessor.h" -#include "AliHLTCaloDefinitions.h" #include "AliHLTCaloConstantsHandler.h" -#include "AliHLTCaloRcuProcessor.h" +#include "AliHLTCaloProcessor.h" -//#include "TObject.h" class AliHLTCaloMapper; -class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTCaloConstantsHandler, public AliHLTCaloRcuProcessor +class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTCaloProcessor, protected AliHLTCaloConstantsHandler { public: /** Constructor must be initialized to specific calorimeter */ AliHLTCaloRawAnalyzerComponentv3(TString det); - - /** Destructor */ virtual ~AliHLTCaloRawAnalyzerComponentv3(); - - // virtual bool CheckInputDataType(const AliHLTComponentDataType &datatype) = 0; - - /** interface function, see @ref AliHLTComponent for description */ virtual int DoInit(int argc =0, const char** argv = 0) ; - - /** interface function, see @ref AliHLTComponent for description */ virtual int DoDeinit(); - - /** interface function, see @ref AliHLTComponent for description */ virtual const char* GetComponentID() = 0; - - /** interface function, see @ref AliHLTComponent for description */ - // virtual void GetInputDataTypes( vector & list); virtual void GetInputDataTypes( vector & list) = 0; - - /** interface function, see @ref AliHLTComponent for description */ - // virtual AliHLTComponentDataType GetOutputDataType(); virtual AliHLTComponentDataType GetOutputDataType() = 0; - - /** interface function, see @ref AliHLTComponent for description */ - // virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); - virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier) = 0 ; - - /** interface function, see @ref AliHLTComponent for description */ + virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); virtual AliHLTComponent* Spawn() = 0; protected: - - //virtual bool CheckInputDataType(const AliHLTComponentDataType &datatype) = 0; - /** interface function, see @ref AliHLTComponent for description */ - - using AliHLTCaloRcuProcessor::DoEvent; - - /** interface function, see @ref AliHLTComponent for description */ + bool CheckInputDataType(const AliHLTComponentDataType &datatype); virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, - AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, - AliHLTUInt32_t& size, vector& outputBlocks ) = 0; + AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, + AliHLTUInt32_t& size, vector& outputBlocks ); + /** * Do the real processing in the component @@ -163,39 +134,23 @@ class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTCaloConstantsHandler, publ * @param totSize is the total size used for output * @return the size output size used */ - virtual Int_t DoIt(const AliHLTComponentBlockData* iter, AliHLTUInt8_t* outputPtr, const AliHLTUInt32_t size, UInt_t& totSize); - + virtual Int_t DoIt(const AliHLTComponentBlockData* iter, AliHLTUInt8_t* outputPtr, + const AliHLTUInt32_t size, UInt_t& totSize); - // unsigned long fCaloEventCount; - - /** Pointer to an analyzer object used for raw data anlysis */ + + protected: + virtual void InitMapping(const int specification ) = 0; + void PrintDebugInfo(); AliCaloRawAnalyzer *fAnalyzerPtr; //COMMENT - - //** Pointer to a mapper opbject */ AliHLTCaloMapper *fMapperPtr; //COMMENT - - virtual void InitMapping(const int specification ) = 0; + AliHLTUInt32_t fCurrentSpec; // Data specification (RCU) + bool fDebug; // Turn on to enable debug info private: - -/** Keep default constructor private since it should not be used */ AliHLTCaloRawAnalyzerComponentv3(); - - /** Keep the copy constructor private since it should not be used */ AliHLTCaloRawAnalyzerComponentv3(const AliHLTCaloRawAnalyzerComponentv3 & ); - - /** Keep the assignement operator private since it should not be used */ AliHLTCaloRawAnalyzerComponentv3 & operator = (const AliHLTCaloRawAnalyzerComponentv3 &); - - //virtual void InitMapping(const int specification ) = 0; - - /** Mapping from harware address to geometrical address */ - // AliHLTCaloMapper *fMapperPtr; //!transient - - - - /** Pointer to object which may check the integrity of the data */ - AliHLTCaloSanityInspector *fSanityInspectorPtr; //!transient + AliHLTCaloSanityInspector *fSanityInspectorPtr; //!transient /** Pointer to object which may check the integrity of the data */ /** Pointer to the raw data reader which reads from memory */ AliRawReaderMemory* fRawReaderMemoryPtr; //!transient @@ -218,49 +173,41 @@ class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTCaloConstantsHandler, publ /** The maximum position a peak can have to be considered */ Int_t fMaxPeakPosition; //COMMENT - // AliHLTCaloMapper *fMapperPtr; - - /** Should we push the raw data when the channel is crazy? */ + /** Should we push the raw data when the channel is crazy? */ Bool_t fDoPushBadRawData; //COMMENT /** Should we push all raw data (using the raw data writer) */ - Bool_t fDoPushRawData; //COMMENT - - class RawDataWriter + Bool_t fDoPushRawData; //COMMENT + + class RawDataWriter { public: RawDataWriter(AliHLTCaloConstants* cConst); - ~RawDataWriter(); - // void WriteChannelId(const UShort_t channeldid ); + virtual ~RawDataWriter(); void NewChannel( ); void WriteBunchData(const UShort_t *bunchdata, const int length, const UInt_t starttimebin ); void ResetBuffer(); void SetChannelId( const UShort_t channeldid ); - //void CopyBufferToSharedMemory(UShort_t *memPtr, const int sizetotal, const int sizeused ); int CopyBufferToSharedMemory(UShort_t *memPtr, const int sizetotal, const int sizeused ); void NewEvent(); - + private: - - //Default constructor, should not be used. RawDataWriter(); RawDataWriter (const RawDataWriter & ); RawDataWriter & operator = (const RawDataWriter &); void Init(); - // bool fIsFirstChannel; - UShort_t* fRawDataBuffer; - int fCurrentChannelSize; - int fBufferIndex; - int fBufferSize; - UShort_t *fCurrentChannelIdPtr; - UShort_t *fCurrentChannelSizePtr; - UShort_t *fCurrentChannelDataPtr; - int fTotalSize; + UShort_t* fRawDataBuffer; // Buffer for storing of rawdata + int fCurrentChannelSize; //Comment + int fBufferIndex; //Position in buffer + int fBufferSize; //Comment + UShort_t *fCurrentChannelIdPtr; //Channel ID (module, row, column) + UShort_t *fCurrentChannelSizePtr; //Comment + UShort_t *fCurrentChannelDataPtr; //Comment + int fTotalSize; //Comment }; RawDataWriter *fRawDataWriter; - - // ClassDef(AliHLTCaloRawAnalyzerComponentv3, 1) + ClassDef(AliHLTCaloRawAnalyzerComponentv3, 1) };