Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 :
4 : /**************************************************************************
5 : * This file is property of and copyright by the ALICE HLT Project *
6 : * All rights reserved. *
7 : * *
8 : * Primary Authors: Oystein Djuvsland *
9 : * *
10 : * Permission to use, copy, modify and distribute this software and its *
11 : * documentation strictly for non-commercial purposes is hereby granted *
12 : * without fee, provided that the above copyright notice appears in all *
13 : * copies and that both the copyright notice and this permission notice *
14 : * appear in the supporting documentation. The authors make no claims *
15 : * about the suitability of this software for any purpose. It is *
16 : * provided "as is" without express or implied warranty. *
17 : **************************************************************************/
18 :
19 : #ifndef ALIHLTPHOSMONITORTRIGGERCOMPONENT_H
20 : #define ALIHLTPHOSMONITORTRIGGERCOMPONENT_H
21 :
22 : /**
23 : * Monitor component
24 : *
25 : * @file AliHLTPHOSMonitorTriggerComponent.h
26 : * @author Oystein Djuvsland
27 : * @date
28 : * @brief A monitor trigger component
29 : */
30 :
31 : // see below for class documentation
32 : // or
33 : // refer to README to build package
34 : // or
35 : // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
36 :
37 : #include "AliHLTCaloProcessor.h"
38 :
39 : class AliHLTCaloClusterHeaderStruct;
40 :
41 : /**
42 : * @class AliHLTPHOSMonitorTriggerComponent
43 : *
44 : * @ingroup alihlt_phos
45 : */
46 :
47 : class AliHLTPHOSMonitorTriggerComponent: public AliHLTCaloProcessor
48 : {
49 : public:
50 :
51 : /** Constructor */
52 : AliHLTPHOSMonitorTriggerComponent();
53 :
54 : /** Destructor */
55 : virtual ~AliHLTPHOSMonitorTriggerComponent();
56 :
57 : /** Copy constructor */
58 : AliHLTPHOSMonitorTriggerComponent(const AliHLTPHOSMonitorTriggerComponent &) :
59 0 : AliHLTCaloProcessor(),
60 0 : fCheckClusterEnergy(false),
61 0 : fCheckClusterMultiplicities(false),
62 0 : fClusterEnergyThreshold(1),
63 0 : fMultiplicityThreshold(5),
64 0 : fMultEnergyThreshold(0.5),
65 0 : fDigitMultiplicityThreshold(16),
66 0 : fMultDigitMultiplicityThreshold(9),
67 0 : fLowerCentrality(0),
68 0 : fUpperCentrality(0)
69 0 : {
70 : //Copy constructor not implemented
71 0 : }
72 :
73 : /** Assignment */
74 : AliHLTPHOSMonitorTriggerComponent & operator = (const AliHLTPHOSMonitorTriggerComponent&)
75 : {
76 : //Assignment
77 0 : return *this;
78 : }
79 :
80 : /** interface function, see @ref AliHLTComponent for description */
81 : const char* GetComponentID();
82 :
83 : /** interface function, see @ref AliHLTComponent for description */
84 : void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
85 :
86 : /** interface function, see @ref AliHLTComponent for description */
87 : AliHLTComponentDataType GetOutputDataType();
88 :
89 : /** interface function, see @ref AliHLTComponent for description */
90 : void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
91 :
92 : /** interface function, see @ref AliHLTComponent for description */
93 :
94 : using AliHLTCaloProcessor::DoEvent;
95 : int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
96 : AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
97 : std::vector<AliHLTComponentBlockData>& outputBlocks);
98 : // Int_t DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
99 : /** interface function, see @ref AliHLTComponent for description */
100 : AliHLTComponent* Spawn();
101 :
102 : protected:
103 :
104 : /** interface function, see @ref AliHLTComponent for description */
105 : int DoInit(int argc, const char** argv);
106 :
107 : /** interface function, see @ref AliHLTComponent for description */
108 : int Deinit();
109 :
110 : Bool_t CheckClusters(AliHLTCaloClusterHeaderStruct* clusterHeader);
111 :
112 : private:
113 :
114 : Bool_t fCheckClusterEnergy; //COMMENT
115 : Bool_t fCheckClusterMultiplicities; //COMMENT
116 :
117 : Float_t fClusterEnergyThreshold; //COMMENT
118 : UInt_t fMultiplicityThreshold; //COMMENT
119 : Float_t fMultEnergyThreshold; //COMMENT
120 : UInt_t fDigitMultiplicityThreshold; //COMMENT
121 : UInt_t fMultDigitMultiplicityThreshold; //COMMENT
122 :
123 : Float_t fLowerCentrality; //COMMENT
124 : Float_t fUpperCentrality; //COMMENT
125 :
126 :
127 : /** interface function, see @ref AliHLTComponent for description */
128 : static const AliHLTComponentDataType fgkInputDataTypes[]; //COMMENT
129 :
130 :
131 : };
132 :
133 : #endif
|