]>
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 */ | |
d2831d6a | 38 | int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList); |
39 | ||
40 | /** interface function, see AliHLTComponent for description */ | |
41 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
de0257eb | 42 | /** interface function, see AliHLTComponent for description */ |
43 | AliHLTComponent* Spawn(); | |
44 | ||
45 | private: | |
46 | /** interface function, see AliHLTComponent for description */ | |
47 | int DoInit(int argc, const char** argv); | |
48 | /** interface function, see AliHLTComponent for description */ | |
49 | int DoDeinit(); | |
50 | ||
51 | //AliHLTProcess has overriden DoEvent from AliHLTComponent and | |
52 | //added new virtual function with the same name and different | |
53 | //signature. If I override only one of them, the second will be hidden | |
54 | //and good compiler can issue a warning, for example, Comeau can | |
55 | //(my gcc does not issue any warning). So, there are 2 ways: | |
56 | //override both or declare the second with using-declaration. | |
57 | ||
58 | /** interface function, see AliHLTComponent for description */ | |
59 | int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, | |
60 | AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, | |
61 | AliHLTUInt32_t& size, AliHLTComponentBlockDataList& outputBlocks); | |
62 | ||
63 | using AliHLTProcessor::DoEvent; | |
64 | ||
65 | /** interface function, see AliHLTComponent for description */ | |
66 | int Reconfigure(const char* cdbEntry, const char* chainId); | |
67 | ||
ac0d701f | 68 | void SetDefaultConfiguration(); |
69 | int ReadConfigurationString( const char* arguments ); | |
70 | ||
e419c1ae | 71 | AliHLTUInt32_t fUID;// uID of the component |
72 | ||
ac0d701f | 73 | Int_t fRefreshPeriod;// histos will refresh after fRefreshPeriod number of events |
74 | Int_t fFillSecond;//! | |
75 | Int_t fFillSecondSPD ;//! | |
76 | ||
77 | TH2F fPrimaryXY[2]; //X and Y coords. | |
78 | TH1F fPrimaryX[2]; // X coords. | |
79 | TH1F fPrimaryY[2]; // Y coords. | |
80 | TH1F fPrimaryZ[2]; // Z coords. | |
81 | ||
82 | TH2F fSPDVertexXY[2];// ITS SPD vertex | |
83 | TH1F fSPDVertexX[2];// ITS SPD vertex | |
84 | TH1F fSPDVertexY[2];// ITS SPD vertex | |
85 | TH1F fSPDVertexZ[2];// ITS SPD vertex | |
de0257eb | 86 | |
87 | //Aux. function. | |
88 | unsigned long GetOutputDataSize()const; | |
89 | }; | |
90 | ||
91 | #endif |