]>
Commit | Line | Data |
---|---|---|
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 | ||
18 | class AliHLTGlobalVertexerHistoComponent : public AliHLTProcessor | |
19 | { | |
20 | public: | |
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 | ||
42 | private: | |
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 |