Coverity warnings
[u/mrichter/AliRoot.git] / ITS / AliITSFOGeneratorSPD.h
1 #ifndef ALIITS_FOGENERATORSPD_H
2 #define ALIITS_FOGENERATORSPD_H
3
4 /////////////////////////////////////////////////////////////////////
5 // Author: Henrik Tydesjo                                          //
6 //                                                                 //
7 // This class is used to generate Fast-OR signals from SPD chips.  //
8 //                                                                 //
9 // This procedure is meant to be used during the digitization,     //
10 // and will be based on the number of pixels firing in each chip.  //
11 // The method 'ProcessPixelHit' should be used for each fired      //
12 // pixel. An efficiency value on Fast-Or signal creation upon a    //
13 // single fired pixel will then be used. Optionally, there may be  //
14 // one value per chip or even one value per column. These values   //
15 // are taken from the class AliITSFOEfficiencySPD, normally placed //
16 // in OCDB.                                                        //
17 //                                                                 //
18 // Through a similar class, AliITSFONoiseSPD, there is a           //
19 // possibility to apply random noise to the generation of fast-or  //
20 // signals. This will then be performed by method 'ProcessNoise',  //
21 // normally called after the processing of the fired pixels.       //
22 //                                                                 //
23 // The output signals are represented by the AliITSFOsignalsSPD    //
24 // class. Basically, it contains a bit map with all the 1200 pixel //
25 // chips.                                                          //
26 /////////////////////////////////////////////////////////////////////
27
28 #include "AliITSFOEfficiencySPD.h"
29 #include "AliITSFONoiseSPD.h"
30 #include "AliITSFOSignalsSPD.h"
31
32 class AliITSFOGeneratorSPD {
33
34  public:
35   AliITSFOGeneratorSPD();
36   AliITSFOGeneratorSPD(AliITSFOEfficiencySPD* ocdbEff, AliITSFONoiseSPD* ocdbNoise);
37   AliITSFOGeneratorSPD(const AliITSFOGeneratorSPD& handle);
38   virtual ~AliITSFOGeneratorSPD();
39   AliITSFOGeneratorSPD& operator=(const AliITSFOGeneratorSPD& handle);
40
41   virtual void   SetEfficiencyAndNoise(AliITSFOEfficiencySPD* ocdbEff, AliITSFONoiseSPD* ocdbNoise);
42   virtual void   SetEfficiency(AliITSFOEfficiencySPD* ocdbEff);
43   virtual void   SetNoise(AliITSFONoiseSPD* ocdbNoise);
44   virtual Bool_t EfficiencyAndNoiseAreSet() {return fOCDBEff!=NULL && fOCDBNoise!=NULL;}
45
46   virtual void   ResetSignals() {fSignals.ResetSignals();}
47
48   virtual void   ProcessPixelHitM(UInt_t module, UInt_t colM, UInt_t rowM);
49   virtual void   ProcessPixelHit(UInt_t eq, UInt_t hs, UInt_t chip, UInt_t col, UInt_t row);
50   virtual void   ProcessNoise();
51
52   virtual AliITSFOSignalsSPD* GetFOSignals() {return &fSignals;}
53
54
55  protected:
56   AliITSFOSignalsSPD     fSignals;   // Fast-OR signals object
57
58   AliITSFOEfficiencySPD *fOCDBEff;   // link to FO efficiency obj
59   AliITSFONoiseSPD      *fOCDBNoise; // link to FO noise obj
60
61 };
62
63 #endif