]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/global/AliHLTGlobalVertexerHistoComponent.h
VertexerHistoComponent added.
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalVertexerHistoComponent.h
CommitLineData
de0257eb 1#ifndef ALIHLTPGLOBALVERTEXERHISTOCOMPONENT_H
2#define ALIHLTPGLOBALVERTEXERHISTOCOMPONENT_H
3
4//* This file is property of and copyright by the ALICE HLT Project *
5//* ALICE Experiment at CERN, All rights reserved. *
6//* See cxx source for full Copyright notice *
7
8/** @file AliHLTGlobalVertexerComponent.h
9 @author Timur Pocheptsov
10 @brief Component for monitor primary vertex
11*/
12
13#include <TH2F.h>
14
15#include "AliHLTProcessor.h"
16
17
18class AliHLTGlobalVertexerHistoComponent : public AliHLTProcessor
19{
20public:
21 /** default constructor */
22 AliHLTGlobalVertexerHistoComponent();
23
24 //No need to declare and define dtor, copy-ctor, copy-assignment operator.
25 //Compiler generated versions are ok (as soon as class has no explicit
26 //resource management). And if TH2F is exception-safe, my class is
27 //exception-safe too.
28
29 // Overriders for AliHLTComponent's interface.
30 // These functions are required for the registration process.
31 /** interface function, see AliHLTComponent for description. why not const? */
32 const char* GetComponentID();
33 /** interface function, see AliHLTComponent for description. why not const? */
34 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
35 /** interface function, see AliHLTComponent for description. why not const? */
36 AliHLTComponentDataType GetOutputDataType();
37 /** interface function, see AliHLTComponent for description */
38 virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
39 /** interface function, see AliHLTComponent for description */
40 AliHLTComponent* Spawn();
41
42private:
43 /** interface function, see AliHLTComponent for description */
44 int DoInit(int argc, const char** argv);
45 /** interface function, see AliHLTComponent for description */
46 int DoDeinit();
47
48 //AliHLTProcess has overriden DoEvent from AliHLTComponent and
49 //added new virtual function with the same name and different
50 //signature. If I override only one of them, the second will be hidden
51 //and good compiler can issue a warning, for example, Comeau can
52 //(my gcc does not issue any warning). So, there are 2 ways:
53 //override both or declare the second with using-declaration.
54
55 /** interface function, see AliHLTComponent for description */
56 int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
57 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
58 AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks);
59
60 using AliHLTProcessor::DoEvent;
61
62 /** interface function, see AliHLTComponent for description */
63 int Reconfigure(const char* cdbEntry, const char* chainId);
64
65 TH2F fPrimaryXY; //X and Y coords.
66 TH2F fPrimaryZX; //Z and X coords.
67 TH2F fPrimaryZY; //Z and Y coords.
68
69 TH2F fSPDVertexXY;// ITS SPD vertex
70 TH1F fSPDVertexX;// ITS SPD vertex
71 TH1F fSPDVertexY;// ITS SPD vertex
72 TH1F fSPDVertexZ;// ITS SPD vertex
73
74 //Aux. function.
75 unsigned long GetOutputDataSize()const;
76};
77
78#endif