2 /**************************************************************************
3 * This file is property of and copyright by the ALICE HLT Project *
4 * All rights reserved. *
6 * Primary Authors: Oystein Djuvsland *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
17 #ifndef ALIHLTPHOSMIPCOUNTERCOMPONENT_H
18 #define ALIHLTPHOSMIPCOUNTERCOMPONENT_H
20 #include "AliHLTPHOSProcessor.h"
22 class AliHLTPHOSMIPCounter;
28 @author Øystein Djuvsland <oystein.djuvsland@gmail.com>
30 class AliHLTPHOSMIPCounterComponent : public AliHLTPHOSProcessor
33 AliHLTPHOSMIPCounterComponent();
35 ~AliHLTPHOSMIPCounterComponent();
37 const char* GetComponentID();
39 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
41 AliHLTComponentDataType GetOutputDataType();
43 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
45 int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
46 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
47 std::vector<AliHLTComponentBlockData>&);
49 AliHLTComponent* Spawn();
52 int DoInit(int argc, const char** argv);
53 virtual int Deinit(); ////////// PTH WARNING you should Define a class AliHLTPHOSModuleProcessor
60 Char_t *fTRUThreshold;
61 Float_t fMIPCountInterval;
63 AliHLTPHOSMIPCounter *fMIPCounterPtr;
65 TH1I *fIntervalHistPtr;
67 TH2I *fChannelHistPtr;
69 static const AliHLTComponentDataType fgkInputDataTypes[]; //HLT input data type