1 #ifndef ALIITSTRIGGERFOPROCESSOR_H
2 #define ALIITSTRIGGERFOPROCESSOR_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 /////////////////////////////////////////////////////////////////////
25 #include "AliITSFOSignalsSPD.h"
27 class AliITSTriggerConditions;
29 class AliITSTriggerFOProcessor {
32 AliITSTriggerFOProcessor();
33 AliITSTriggerFOProcessor(AliITSTriggerConditions* ocdbCond);
34 AliITSTriggerFOProcessor(const AliITSTriggerFOProcessor& handle);
35 virtual ~AliITSTriggerFOProcessor();
36 AliITSTriggerFOProcessor& operator=(const AliITSTriggerFOProcessor& handle);
38 virtual void SetTriggerConditions(AliITSTriggerConditions* const ocdbCond);
39 virtual Bool_t TriggerConditionsSet() {return fTriggerCond!=NULL;}
41 virtual UInt_t GetNumOutputs() const;
42 virtual const Char_t* GetOutputLabel(Short_t index) const;
45 virtual void PreprocessFOSignals(AliITSFOSignalsSPD* signals); // NB! Call this before calling the below methods!!!
47 virtual Bool_t ProcessFOSignalsIndex(Short_t index, AliITSFOSignalsSPD* signals);
48 virtual Bool_t ProcessFOSignalsLabel(const Char_t* label, AliITSFOSignalsSPD* signals);
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);
60 AliITSTriggerConditions *fTriggerCond;