Line data Source code
1 : #ifndef ALIITSTRIGGERFOPROCESSOR_H
2 : #define ALIITSTRIGGERFOPROCESSOR_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 : /* $Id$ */
24 :
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 :
38 : virtual void SetTriggerConditions(AliITSTriggerConditions* const ocdbCond);
39 8 : 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*/);
55 : virtual Bool_t ProcessFOSignalsCosmic(Short_t index, AliITSFOSignalsSPD* const signals);
56 :
57 : protected:
58 : Int_t fFOInner;
59 : Int_t fFOOuter;
60 : AliITSTriggerConditions *fTriggerCond;
61 :
62 : };
63 :
64 : #endif
|