]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EMCAL/AliHLTEMCALRawHistoMakerComponent.h
cashing of EMCALMapper instances to avoid unnecessary allocations; removing global...
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALRawHistoMakerComponent.h
CommitLineData
fdf6f4e9 1/**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
4 * INFN, Laboratori Nazionali di Frascati *
5 * Primary Authors: Federico Ronchetti *
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#ifndef ALIHLTEMCALRAWHISTOMAKERCOMPONENT_H
16#define ALIHLTEMCALRAWHISTOMAKERCOMPONENT_H
17
18/** @file AliHLTEMCALRawHistoMakerComponent.h
19 @author Federico Ronchetti
20 @date
21 @brief A histo maker component for EMCAL HLT
22 */
23
24
25
26#include "AliHLTCaloProcessor.h"
4cec1df9 27#include "AliHLTCaloClusterDataStruct.h"
28
29#include "AliHLTCaloConstantsHandler.h"
30#include "AliHLTEMCALDefinitions.h"
31#include "AliHLTDataTypes.h"
fdf6f4e9 32#include "TString.h"
33
4cec1df9 34
fdf6f4e9 35class AliHLTEMCALRawHistoMaker;
4cec1df9 36class AliHLTCaloClusterHeaderStruct;
37
fdf6f4e9 38
39
40class AliHLTEMCALRawHistoMakerComponent : public AliHLTCaloProcessor
41{
42public:
43
44 /** Constructor */
45 AliHLTEMCALRawHistoMakerComponent();
46
47 /** Destructor */
48 virtual ~AliHLTEMCALRawHistoMakerComponent();
49
50
fdf6f4e9 51 /** interface function, see @ref AliHLTComponent for description */
52 const char* GetComponentID();
53
54 /** interface function, see @ref AliHLTComponent for description */
55 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
56
57 /** interface function, see @ref AliHLTComponent for description */
58 AliHLTComponentDataType GetOutputDataType();
59
60 /** interface function, see @ref AliHLTComponent for description */
61 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
62
63 /** interface function, see @ref AliHLTComponent for description */
64 int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
65 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
66 std::vector<AliHLTComponentBlockData>& outputBlocks);
67
68 /** interface function, see @ref AliHLTComponent for description */
69 AliHLTComponent* Spawn();
70
71protected:
72
73 /** interface function, see @ref AliHLTComponent for description */
74
75 int DoInit(int argc, const char** argv);
76 int DoDeinit() {
77 return(0);
78 }
79
80 using AliHLTCaloProcessor::DoEvent;
81
82 /** interface function, see @ref AliHLTComponent for description */
83 virtual int Deinit(); ////////// PTH WARNING
84
4cec1df9 85
86
fdf6f4e9 87private:
88 TString fRootFileName;
89 int fPushFraction;
90 int fLocalEventCount;
fb43b5cd 91 int fBeVerbose;
fdf6f4e9 92
93 /** Pointer to the histo maker itself */
94 AliHLTEMCALRawHistoMaker *fRawHistoMakerPtr; //! transient
95
4cec1df9 96
fdf6f4e9 97 AliHLTEMCALRawHistoMakerComponent(const AliHLTEMCALRawHistoMakerComponent & );
4cec1df9 98 AliHLTEMCALRawHistoMakerComponent & operator = (const AliHLTEMCALRawHistoMakerComponent &);
fdf6f4e9 99};
100
101#endif
102