]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSSanityInspector.h
Selectiv readout and writing to FXS (oystein)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSSanityInspector.h
1 /**************************************************************************
2  * This file is property of and copyright by the ALICE HLT Project        * 
3  * All rights reserved.                                                   *
4  *                                                                        *
5  * Primary Authors: Oystein Djuvsland                                     *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          * 
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 #ifndef ALIHLTPHOSSANITYINSPECTOR_H
17 #define ALIHLTPHOSSANITYINSPECTOR_H
18
19 /**
20  * Class checks data for insanity
21  * for use in HLT, but can also be used offline
22  *
23  * @file   AliHLTPHOSSanityInspector.h
24  * @author Oystein Djuvsland
25  * @date
26  * @brief  Sanity inspector for PHOS HLT
27  */
28
29 #include "AliHLTPHOSBase.h"
30 #include "Rtypes.h"
31
32
33 class AliHLTAltroData;
34
35 /** 
36  * @class AliHLTPHOSSanityInspector
37  * Sanity inspector for PHOS HLT. It takes raw data as input and checks it for insanity
38  * It will then flag it.
39  *
40  * @ingroup alihlt_phos
41  */
42
43 class AliHLTPHOSSanityInspector : public AliHLTPHOSBase
44 {
45   
46 public:
47
48   /** Constructor */
49   AliHLTPHOSSanityInspector();
50   
51   /* Destructor */
52   virtual ~AliHLTPHOSSanityInspector();
53
54   /** Copy constructor */  
55   AliHLTPHOSSanityInspector(const AliHLTPHOSSanityInspector &) : 
56     AliHLTPHOSBase(),
57     fMaxDifference(0)
58   {
59     //Copy constructor not implemented
60   }
61   
62   /** Assignment */
63   AliHLTPHOSSanityInspector & operator = (const AliHLTPHOSSanityInspector)
64   {
65     //Assignment
66     return *this; 
67   }
68   
69   
70   //  Int_t CheckInsanity(UInt_t* data, Int_t nSamples);
71   
72   
73   // Int_t CheckInsanity(Int_t* data, Int_t nSamples);
74   
75   
76   
77   /** Check for insanity */
78   const Int_t CheckInsanity(const UInt_t* data, const Int_t nSamples) const;
79   
80   /** Check for and heal insanity */
81   Int_t CheckAndHealInsanity(UInt_t* data, Int_t nSamples);  //Not completely reliable
82
83   /** Check for and heal insanity */
84   Int_t CheckAndHealInsanity(Int_t* data, Int_t nSamples);  //Not completely reliable
85
86   /** Set the max difference between 2 samples before flagging insanity */
87   void SetMaxDifference(Int_t maxDiff) { fMaxDifference = maxDiff; }
88     
89 private:
90
91   /** The max difference between 2 samples */
92   Int_t fMaxDifference;           //COMMENT
93  
94   ClassDef(AliHLTPHOSSanityInspector, 1);
95 };
96
97 #endif