1 #ifndef ALIITS_TRIGGERFOPROCESSOR_H
2 #define ALIITS_TRIGGERFOPROCESSOR_H
4 /////////////////////////////////////////////////////////////////////
5 // Author: Henrik Tydesjo //
7 // This class takes care of simulating the output from the pixel //
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. //
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. //
21 /////////////////////////////////////////////////////////////////////
23 #include "AliITSFOSignalsSPD.h"
25 class AliITSTriggerConditions;
27 class AliITSTriggerFOProcessor {
30 AliITSTriggerFOProcessor();
31 AliITSTriggerFOProcessor(AliITSTriggerConditions* ocdbCond);
32 AliITSTriggerFOProcessor(const AliITSTriggerFOProcessor& handle);
33 virtual ~AliITSTriggerFOProcessor();
34 AliITSTriggerFOProcessor& operator=(const AliITSTriggerFOProcessor& handle);
36 virtual void SetTriggerConditions(AliITSTriggerConditions* ocdbCond);
37 virtual Bool_t TriggerConditionsSet() {return fTriggerCond!=NULL;}
39 virtual UInt_t GetNumOutputs() const;
40 virtual const Char_t* GetOutputLabel(Short_t index) const;
43 virtual void PreprocessFOSignals(AliITSFOSignalsSPD* signals); // NB! Call this before calling the below methods!!!
45 virtual Bool_t ProcessFOSignalsIndex(Short_t index, AliITSFOSignalsSPD* signals);
46 virtual Bool_t ProcessFOSignalsLabel(const Char_t* label, AliITSFOSignalsSPD* signals);
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*/);
58 AliITSTriggerConditions *fTriggerCond;