]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRcuAltroPatternTestComponent.h
New production macros (Yves)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRcuAltroPatternTestComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTPHOSRCUALTRPATTERNTESTCOMPONENT_H
5 #define ALIHLTPHOSRCUALTRPATTERNTESTCOMPONENT_H 
6
7 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
8  * See cxx source for full Copyright notice  */ 
9
10 #include "AliHLTPHOSRcuProcessor.h"
11
12
13
14
15
16 //
17 // Class for validation of PHOS
18 // Frontend electronics using playback
19 // of pedestal patterns from the altro
20 //
21
22
23 class AliHLTPHOSSharedMemoryInterface;
24 class AliHLTPHOSRcuAltroPatternTest;
25
26 class AliHLTPHOSRcuAltroPatternTestComponent:public AliHLTPHOSRcuProcessor
27 {
28  public:
29   AliHLTPHOSRcuAltroPatternTestComponent();
30   virtual ~AliHLTPHOSRcuAltroPatternTestComponent();
31   virtual int DoInit( int argc, const char** argv );
32   virtual int Deinit();
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();
41
42  protected:
43   using AliHLTPHOSRcuProcessor::DoEvent;
44
45  private:
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 };
56
57 #endif