]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTGlobalTriggerComponent.h
ana.C: Included possibility to read MC data directly from galice.root
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTGlobalTriggerComponent.h
CommitLineData
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 */
21class 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