]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSFOGeneratorSPD.h
Algorithm to do event inspection - trigger, vertex
[u/mrichter/AliRoot.git] / ITS / AliITSFOGeneratorSPD.h
CommitLineData
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
32class 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