Another histos for lumi
[u/mrichter/AliRoot.git] / ITS / AliITSTriggerFOProcessor.h
CommitLineData
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
27class AliITSTriggerConditions;
28
29class 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