]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSMonitorTriggerComponent.h
Removing redundant class
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSMonitorTriggerComponent.h
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     AliHLTCaloProcessor(),
60     fCheckClusterEnergy(false),
61     fCheckClusterMultiplicities(false),
62     fClusterEnergyThreshold(1),
63     fMultiplicityThreshold(5),
64     fMultEnergyThreshold(0.5),
65     fDigitMultiplicityThreshold(16),
66     fMultDigitMultiplicityThreshold(9),
67     fLowerCentrality(0),
68     fUpperCentrality(0)
69   {
70     //Copy constructor not implemented
71   }
72   
73   /** Assignment */
74   AliHLTPHOSMonitorTriggerComponent & operator = (const AliHLTPHOSMonitorTriggerComponent)
75   {
76     //Assignment
77     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