]>
Commit | Line | Data |
---|---|---|
1b9a175e | 1 | #ifndef ALIHLTGLOBALTRIGGERCOMPONENT_H |
2 | #define ALIHLTGLOBALTRIGGERCOMPONENT_H | |
3 | /* This file is property of and copyright by the ALICE HLT Project * | |
4 | * ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /// @file AliHLTGlobalTriggerComponent.h | |
8 | /// @author Artur Szostak <artursz@iafrica.com> | |
9 | /// @date 26 Nov 2008 | |
10 | /// @brief Declaration of the AliHLTGlobalTriggerComponent component class. | |
11 | ||
12 | #include "AliHLTTrigger.h" | |
13 | ||
14 | /** | |
15 | * \class AliHLTGlobalTriggerComponent | |
16 | * This class applies the global HLT trigger to all trigger information produced | |
17 | * by components deriving from AliHLTTrigger. | |
18 | * Any information delivered by other components in data blocks that contain | |
19 | * TObjects can also be used for the trigger algorithm. | |
20 | */ | |
21 | class AliHLTGlobalTriggerComponent : public AliHLTTrigger | |
22 | { | |
23 | public: | |
24 | ||
25 | AliHLTGlobalTriggerComponent(); | |
26 | virtual ~AliHLTGlobalTriggerComponent(); | |
27 | ||
28 | /** | |
29 | * Inherited from AliHLTTrigger. | |
30 | * @return string containing the global trigger name. | |
31 | */ | |
32 | virtual const char* GetTriggerName() const { return "HLTGlobalTrigger"; }; | |
33 | ||
34 | /** | |
35 | * Returns extra output data types this trigger generates. | |
36 | * This returns an kAliHLTDataTypeTObject in <i>list</i>. | |
37 | * @param list <i>[out]</i>: The list of data types to be filled. | |
38 | */ | |
39 | virtual void GetOutputDataTypes(AliHLTComponentDataTypeList& list) const | |
40 | { | |
41 | list.push_back(kAliHLTDataTypeTObject); | |
42 | } | |
43 | ||
44 | /** | |
45 | * Get a ratio by how much the data volume is shrunk or enhanced. | |
46 | * The method returns a size proportional to the trigger name string length | |
47 | * for constBase, and 1 for inputMultiplier. | |
48 | * @param constBase <i>[out]</i>: additive part, independent of the | |
49 | * input data volume | |
50 | * @param inputMultiplier <i>[out]</i>: multiplication ratio | |
51 | */ | |
52 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
4f1d6b68 | 53 | |
54 | /** | |
55 | * Spawn function creates a new object. | |
56 | * @return new class instance. | |
57 | */ | |
58 | virtual AliHLTComponent* Spawn(); | |
1b9a175e | 59 | |
60 | protected: | |
61 | ||
62 | /// Not implemented. Do not allow copying of this object. | |
63 | AliHLTGlobalTriggerComponent(const AliHLTGlobalTriggerComponent& obj); | |
64 | /// Not implemented. Do not allow copying of this object. | |
65 | AliHLTGlobalTriggerComponent& operator = (const AliHLTGlobalTriggerComponent& obj); | |
66 | ||
67 | /** | |
68 | * Applies the global HLT trigger. | |
69 | * @return Zero is returned on success and a negative error code on failure. | |
70 | */ | |
71 | virtual int DoTrigger(); | |
72 | ||
73 | private: | |
74 | ||
75 | ClassDef(AliHLTGlobalTriggerComponent, 0) // Global HLT trigger component class which produces the final trigger decision and readout list. | |
76 | }; | |
77 | ||
78 | #endif // ALIHLTGLOBALTRIGGERCOMPONENT_H | |
79 |