]>
Commit | Line | Data |
---|---|---|
49c25a1d | 1 | #ifndef ALIITSTRIGGERFOPROCESSOR_H |
2 | #define ALIITSTRIGGERFOPROCESSOR_H | |
ad7f2bfa | 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 | ||
65e04d68 | 23 | /* $Id$ */ |
24 | ||
ad7f2bfa | 25 | #include "AliITSFOSignalsSPD.h" |
26 | ||
27 | class AliITSTriggerConditions; | |
28 | ||
29 | class AliITSTriggerFOProcessor { | |
30 | ||
31 | public: | |
32 | AliITSTriggerFOProcessor(); | |
33 | AliITSTriggerFOProcessor(AliITSTriggerConditions* ocdbCond); | |
34 | AliITSTriggerFOProcessor(const AliITSTriggerFOProcessor& handle); | |
35 | virtual ~AliITSTriggerFOProcessor(); | |
36 | AliITSTriggerFOProcessor& operator=(const AliITSTriggerFOProcessor& handle); | |
37 | ||
49c25a1d | 38 | virtual void SetTriggerConditions(AliITSTriggerConditions* const ocdbCond); |
ad7f2bfa | 39 | virtual Bool_t TriggerConditionsSet() {return fTriggerCond!=NULL;} |
40 | ||
41 | virtual UInt_t GetNumOutputs() const; | |
42 | virtual const Char_t* GetOutputLabel(Short_t index) const; | |
43 | ||
44 | ||
45 | virtual void PreprocessFOSignals(AliITSFOSignalsSPD* signals); // NB! Call this before calling the below methods!!! | |
46 | ||
47 | virtual Bool_t ProcessFOSignalsIndex(Short_t index, AliITSFOSignalsSPD* signals); | |
48 | virtual Bool_t ProcessFOSignalsLabel(const Char_t* label, AliITSFOSignalsSPD* signals); | |
49 | ||
50 | virtual Bool_t ProcessFOSignalsTHRTotal(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
51 | virtual Bool_t ProcessFOSignalsTHRTotalAndTHRInnerAndTHROuter(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
52 | virtual Bool_t ProcessFOSignalsTHRInnerAndTHROuter(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
53 | virtual Bool_t ProcessFOSignalsInnerGTOuterPlusOffset(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
54 | virtual Bool_t ProcessFOSignalsOuterGTInnerPlusOffset(Short_t index, AliITSFOSignalsSPD* /*signals*/); | |
49c25a1d | 55 | virtual Bool_t ProcessFOSignalsCosmic(Short_t index, AliITSFOSignalsSPD* const signals); |
ad7f2bfa | 56 | |
57 | protected: | |
58 | Int_t fFOInner; | |
59 | Int_t fFOOuter; | |
60 | AliITSTriggerConditions *fTriggerCond; | |
61 | ||
62 | }; | |
63 | ||
64 | #endif |