1 #ifndef ALIITS_FOGENERATORSPD_H
2 #define ALIITS_FOGENERATORSPD_H
4 /////////////////////////////////////////////////////////////////////
5 // Author: Henrik Tydesjo //
7 // This class is used to generate Fast-OR signals from SPD chips. //
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 //
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. //
23 // The output signals are represented by the AliITSFOsignalsSPD //
24 // class. Basically, it contains a bit map with all the 1200 pixel //
26 /////////////////////////////////////////////////////////////////////
28 #include "AliITSFOEfficiencySPD.h"
29 #include "AliITSFONoiseSPD.h"
30 #include "AliITSFOSignalsSPD.h"
32 class AliITSFOGeneratorSPD {
35 AliITSFOGeneratorSPD();
36 AliITSFOGeneratorSPD(AliITSFOEfficiencySPD* ocdbEff, AliITSFONoiseSPD* ocdbNoise);
37 AliITSFOGeneratorSPD(const AliITSFOGeneratorSPD& handle);
38 virtual ~AliITSFOGeneratorSPD();
39 AliITSFOGeneratorSPD& operator=(const AliITSFOGeneratorSPD& handle);
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;}
46 virtual void ResetSignals() {fSignals.ResetSignals();}
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();
52 virtual AliITSFOSignalsSPD* GetFOSignals() {return &fSignals;}
56 AliITSFOSignalsSPD fSignals; // Fast-OR signals object
58 AliITSFOEfficiencySPD *fOCDBEff; // link to FO efficiency obj
59 AliITSFONoiseSPD *fOCDBNoise; // link to FO noise obj