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