]>
Commit | Line | Data |
---|---|---|
ad7f2bfa | 1 | #ifndef ALIITS_TRIGGERFOPROCESSOR_H |
2 | #define ALIITS_TRIGGERFOPROCESSOR_H | |
3 | ||
4 | ///////////////////////////////////////////////////////////////////// | |
5 | // Author: Henrik Tydesjo // | |
6 | // // | |
7 | // This class takes care of simulating the output from the pixel // | |
8 | // trigger system. // | |
9 | // The fast-or signals are given as input and they are processed // | |
10 | // to see which algorithm will give a signal to the central // | |
11 | // trigger system. To avoid doing the same operations many times, // | |
12 | // there is a method called PreprocessFOSignals, which should // | |
13 | // always be called for each event before the processing of // | |
14 | // each individual algorithm is done. // | |
15 | // // | |
16 | // As soon as a new algorithm has been implemented online, a // | |
17 | // corresponding method should be implemented here. Which method // | |
18 | // should be used for a given trigger label is taken care of in // | |
19 | // ProcessFOSignalsLabel method. // | |
20 | // // | |
21 | ///////////////////////////////////////////////////////////////////// | |
22 | ||
23 | #include "AliITSFOSignalsSPD.h" | |
24 | ||
25 | class AliITSTriggerConditions; | |
26 | ||
27 | class AliITSTriggerFOProcessor { | |
28 | ||
29 | public: | |
30 | AliITSTriggerFOProcessor(); | |
31 | AliITSTriggerFOProcessor(AliITSTriggerConditions* ocdbCond); | |
32 | AliITSTriggerFOProcessor(const AliITSTriggerFOProcessor& handle); | |
33 | virtual ~AliITSTriggerFOProcessor(); | |
34 | AliITSTriggerFOProcessor& operator=(const AliITSTriggerFOProcessor& handle); | |
35 | ||
36 | virtual void SetTriggerConditions(AliITSTriggerConditions* ocdbCond); | |
37 | virtual Bool_t TriggerConditionsSet() {return fTriggerCond!=NULL;} | |
38 | ||
39 | virtual UInt_t GetNumOutputs() const; | |
40 | virtual const Char_t* GetOutputLabel(Short_t index) const; | |
41 | ||
42 | ||
43 | virtual void PreprocessFOSignals(AliITSFOSignalsSPD* signals); // NB! Call this before calling the below methods!!! | |
44 | ||
45 | virtual Bool_t ProcessFOSignalsIndex(Short_t index, AliITSFOSignalsSPD* signals); | |
46 | virtual Bool_t ProcessFOSignalsLabel(const Char_t* label, AliITSFOSignalsSPD* signals); | |
47 | ||
48 | virtual Bool_t ProcessFOSignalsTHRTotal(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
49 | virtual Bool_t ProcessFOSignalsTHRTotalAndTHRInnerAndTHROuter(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
50 | virtual Bool_t ProcessFOSignalsTHRInnerAndTHROuter(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
51 | virtual Bool_t ProcessFOSignalsInnerGTOuterPlusOffset(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
52 | virtual Bool_t ProcessFOSignalsOuterGTInnerPlusOffset(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
53 | ||
54 | ||
55 | protected: | |
56 | Int_t fFOInner; | |
57 | Int_t fFOOuter; | |
58 | AliITSTriggerConditions *fTriggerCond; | |
59 | ||
60 | }; | |
61 | ||
62 | #endif |