Adding some further mother volumes to speed-up the overlap checking and particle...
[u/mrichter/AliRoot.git] / ITS / AliITSTriggerFOProcessor.h
CommitLineData
ad7f2bfa 1#ifndef ALIITS_TRIGGERFOPROCESSOR_H
2#define ALIITS_TRIGGERFOPROCESSOR_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#include "AliITSFOSignalsSPD.h"
24
25class AliITSTriggerConditions;
26
27class AliITSTriggerFOProcessor {
28
29 public:
30 AliITSTriggerFOProcessor();
31 AliITSTriggerFOProcessor(AliITSTriggerConditions* ocdbCond);
32 AliITSTriggerFOProcessor(const AliITSTriggerFOProcessor& handle);
33 virtual ~AliITSTriggerFOProcessor();
34 AliITSTriggerFOProcessor& operator=(const AliITSTriggerFOProcessor& handle);
35
36 virtual void SetTriggerConditions(AliITSTriggerConditions* ocdbCond);
37 virtual Bool_t TriggerConditionsSet() {return fTriggerCond!=NULL;}
38
39 virtual UInt_t GetNumOutputs() const;
40 virtual const Char_t* GetOutputLabel(Short_t index) const;
41
42
43 virtual void PreprocessFOSignals(AliITSFOSignalsSPD* signals); // NB! Call this before calling the below methods!!!
44
45 virtual Bool_t ProcessFOSignalsIndex(Short_t index, AliITSFOSignalsSPD* signals);
46 virtual Bool_t ProcessFOSignalsLabel(const Char_t* label, AliITSFOSignalsSPD* signals);
47
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*/);
53
54
55 protected:
56 Int_t fFOInner;
57 Int_t fFOOuter;
58 AliITSTriggerConditions *fTriggerCond;
59
60};
61
62#endif