]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSPattern.h
Updated DA for mapping - MON
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSPattern.h
1 #ifndef ALIHLTPHOSPATTERN_H
2 #define ALIHLTPHOSPATTERN_H 
3
4 /* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice  */ 
6
7
8 //#include "AliHLTPHOSConstants.h"
9 //using  namespace PhosHLTConst;
10 #include "AliHLTPHOSBase.h"
11 class AliHLTPHOSUtilities;
12
13
14 class AliHLTPHOSPattern : public AliHLTPHOSBase
15 {
16  public:
17   AliHLTPHOSPattern(const int *pattern, const int length);
18   ~AliHLTPHOSPattern();
19   const int AddPattern(const int *readbackpattern,  const int nsamples =  ALTRO_MAX_SAMPLES, const int nPresamples = 0);
20   const bool CheckDoExistPattern(const int *readbackpattern,  const int nsamples =  ALTRO_MAX_SAMPLES, const int nPresamples = 0);
21   const AliHLTPHOSPattern *GetNextPtr() const {return fPattern;}; 
22   const int  GetPattern(int *pattern,  const int maxlengths =  ALTRO_MAX_SAMPLES) const;
23   const int GetPatternLength() const {return  fPatternLength;};
24   const int ValidatePattern(const int *readbackpattern,  const int nsamples =  ALTRO_MAX_SAMPLES, const int nPresamples = 0) const;
25   void PrintPattern(const int nPerLine = ALTRO_MAX_SAMPLES);
26  
27  
28  private:
29   AliHLTPHOSPattern(const AliHLTPHOSPattern &);
30   AliHLTPHOSPattern & operator = (const AliHLTPHOSPattern &); 
31   AliHLTPHOSPattern();
32
33   const int DoComparePattern(const int *inputPattern1, const int *inputPattern2, const int nsamples) const;
34   const bool CheckPatternLength(const int nsamples, const int nPresamples) const;
35   void SetPattern(const int *pattern, const int length);
36   int fVal[ALTRO_MAX_SAMPLES];
37   int fPatternLength;
38   int fN; /**<The number of detected patterns equal to fPattern*/ 
39   int fCnt; 
40   AliHLTPHOSPattern *fPattern;
41    
42   AliHLTPHOSUtilities *fUtilitiesPtr;
43
44 };
45
46 #endif
47