4 #ifndef ALIHLTPHOSRCUALTRPATTERNTESTCOMPONENT_H
5 #define ALIHLTPHOSRCUALTRPATTERNTESTCOMPONENT_H
7 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
10 #include "AliHLTPHOSRcuProcessor.h"
17 // Class for validation of PHOS
18 // Frontend electronics using playback
19 // of pedestal patterns from the altro
23 class AliHLTPHOSSharedMemoryInterface;
24 class AliHLTPHOSRcuAltroPatternTest;
26 class AliHLTPHOSRcuAltroPatternTestComponent:public AliHLTPHOSRcuProcessor
29 AliHLTPHOSRcuAltroPatternTestComponent();
30 virtual ~AliHLTPHOSRcuAltroPatternTestComponent();
31 virtual int DoInit( int argc, const char** argv );
33 virtual int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
34 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
35 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
36 virtual void GetInputDataTypes( vector <AliHLTComponentDataType>&);
37 virtual AliHLTComponentDataType GetOutputDataType();
38 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
39 virtual AliHLTComponent* Spawn();
40 virtual const char* GetComponentID();
43 using AliHLTPHOSRcuProcessor::DoEvent;
46 AliHLTPHOSRcuAltroPatternTestComponent(const AliHLTPHOSRcuAltroPatternTestComponent &);
47 AliHLTPHOSRcuAltroPatternTestComponent & operator = (const AliHLTPHOSRcuAltroPatternTestComponent &);
48 AliHLTPHOSRcuAltroPatternTest *fPatternTestPtr;
49 void ScanPatternFromFile(const char *filename, int *pattern, const int lengt = ALTROMAXSAMPLES) const;
50 AliHLTPHOSSharedMemoryInterface *fShmPtr; // Interface to read altro channel data from shared memory
51 unsigned long fNTotalPatterns; /**<The total number of patterns analyzed*/
52 unsigned long fNWrongPatterns; /**<The total number of incorrect patterns found*/
53 unsigned long fNTotalSamples; /**<The total number of samples analyzed*/
54 unsigned long fNWrongSamples; /**<The total number of incorrect samples found*/
55 unsigned long fNSamples;