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 **************************************************************************/
19 #ifndef ALIHLTPHOSTREEMAKERCOMPONENT_H
20 #define ALIHLTPHOSTREEMAKERCOMPONENT_H
22 # include "AliHLTPHOSProcessor.h"
24 class AliHLTPHOSTreeMaker;
27 class AliHLTPHOSTreeMakerComponent : public AliHLTPHOSProcessor
31 AliHLTPHOSTreeMakerComponent();
32 ~AliHLTPHOSTreeMakerComponent();
34 const char* GetComponentID();
36 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
38 AliHLTComponentDataType GetOutputDataType();
40 void GetOutputDataSize(unsigned long& constBase, double& inputmultiplier);
42 int DoEvent(const AliHLTComponentEventData&,
43 AliHLTComponentTriggerData&);
46 int DoEvent(const AliHLTComponentEventData&, const AliHLTComponentBlockData*,
47 AliHLTComponentTriggerData&, AliHLTUInt8_t*, AliHLTUInt32_t&,
48 std::vector<AliHLTComponentBlockData>&);
50 AliHLTComponent* Spawn();
56 int DoInit(int argc, const char** argv);
58 virtual int Deinit(); ////////// PTH WARNING you should Define a class AliHLTPHOSModuleProcessor
61 AliHLTPHOSTreeMaker *fTreeMakerPtr;
64 UInt_t fWriteInterval;
68 static const AliHLTComponentDataType fgkInputDataTypes[]; //HLT input data type