]>
Commit | Line | Data |
---|---|---|
ad7f2bfa | 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 |