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