]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/OfflineInterface/AliHLTMUONRecHitsSource.h
07-jun-2007 GdV OM readout type also updated from the data contents in IceRoot.cxx.
[u/mrichter/AliRoot.git] / HLT / MUON / OfflineInterface / AliHLTMUONRecHitsSource.h
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