Calculation of fResponse moved from Response to LocalTrigger (Philippe C.)
[u/mrichter/AliRoot.git] / HLT / MUON / OfflineInterface / AliHLTMUONRecHitsSource.h
CommitLineData
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
17class AliMUONSimData;
18class AliMUONRecData;
19class AliRunLoader;
20class 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 */
28class AliHLTMUONRecHitsSource : public AliHLTOfflineDataSource
29{
30public:
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
51protected:
52
53 virtual int DoInit(int argc, const char** argv);
54 virtual int DoDeinit();
55
56private:
57
5df25c2a 58 enum SelectionType
59 {
60 kLeftPlane, // everything from x < 0
61 kRightPlane, // everything from x >= 0
62 kWholePlane // for all x
63 };
64
65 int ParseChamberString(const char* str);
66
3dd14e20 67 AliMUONSimData* fSimData; //! MUON module interface to simulated data.
68 AliMUONRecData* fRecData; //! MUON module interface to reconstructed data.
69 AliRunLoader* fRunLoader; //! A pointer to the AliRunLoader instance.
70 AliLoader* fLoader; //! Pointer to the MUON loader instance.
5df25c2a 71 SelectionType fSelection; //! Indicates if we should publish from the left, right or whole XY plane.
72 bool fServeChamber[10]; //! Flag to indicate if hits from a given chamber should be published.
3dd14e20 73
74 ClassDef(AliHLTMUONRecHitsSource, 0); // dHLT data source for reconstructed hit data blocks.
75};
76
77#endif // ALIHLTMUONRECHITSSOURCE_H