3dd14e20 |
1 | #ifndef ALIHLTMUONRECHITSSOURCE_H |
2 | #define ALIHLTMUONRECHITSSOURCE_H |
3 | /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
6 | /* $Id$ */ |
7 | |
8 | /** |
9 | * @file AliHLTMUONRecHitsSource.h |
10 | * @author Artur Szostak <artursz@iafrica.com> |
11 | * @date |
12 | * @brief Class for generating reconstructed hits data blocks from AliRoot data. |
13 | */ |
14 | |
15 | #include "AliHLTOfflineDataSource.h" |
16 | |
17 | class AliMUONSimData; |
18 | class AliMUONRecData; |
19 | class AliRunLoader; |
20 | class AliLoader; |
21 | |
22 | /** |
23 | * AliHLTMUONRecHitsSource is a HLT-AliRoot data source object which generates |
24 | * and serves AliHLTMUONRecHitsBlockStruct type data blocks to the HLT system. |
25 | * This is meant as a debugging utility which can optionally generate the data |
26 | * blocks from simulate GEANT hits or MUON offline reconstructed hits. |
27 | */ |
28 | class AliHLTMUONRecHitsSource : public AliHLTOfflineDataSource |
29 | { |
30 | public: |
31 | |
32 | AliHLTMUONRecHitsSource(); |
33 | virtual ~AliHLTMUONRecHitsSource(); |
34 | |
35 | virtual int GetEvent( |
36 | const AliHLTComponentEventData& evtData, |
37 | AliHLTComponentTriggerData& trigData, |
38 | AliHLTUInt8_t* outputPtr, |
39 | AliHLTUInt32_t& size, |
40 | vector<AliHLTComponentBlockData>& outputBlocks |
41 | ); |
42 | |
43 | virtual const char* GetComponentID(); |
44 | |
45 | virtual AliHLTComponentDataType GetOutputDataType(); |
46 | |
47 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); |
48 | |
49 | virtual AliHLTComponent* Spawn(); |
50 | |
51 | protected: |
52 | |
53 | virtual int DoInit(int argc, const char** argv); |
54 | virtual int DoDeinit(); |
55 | |
56 | private: |
57 | |
58 | AliMUONSimData* fSimData; //! MUON module interface to simulated data. |
59 | AliMUONRecData* fRecData; //! MUON module interface to reconstructed data. |
60 | AliRunLoader* fRunLoader; //! A pointer to the AliRunLoader instance. |
61 | AliLoader* fLoader; //! Pointer to the MUON loader instance. |
62 | |
63 | ClassDef(AliHLTMUONRecHitsSource, 0); // dHLT data source for reconstructed hit data blocks. |
64 | }; |
65 | |
66 | #endif // ALIHLTMUONRECHITSSOURCE_H |