]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EMCAL/AliHLTEMCALTrackerComponent.h
Initial HLT-EMCAL components.
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALTrackerComponent.h
CommitLineData
4a8f32a0 1#ifndef ALIHLTEMCALTRACKERCOMPONENT_H
2#define ALIHLTEMCALTRACKERCOMPONENT_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/** @file AliHLTEMCALTrackerComponent.h
7 @author Mateusz Ploskon
8 @date
9 @brief Declaration of a EMCALTracker component. */
10
11
12#include "AliHLTProcessor.h"
13class TFolder;
14class TFile;
15class TGeoManager;
16
17class AliCDBManager;
18class AliMagFMaps;
19class AliEMCALTracker;
20
21/**
22 * @class AliHLTEMCALTrackerComponent
23 * @brief A EMCALTracker HLT processing component.
24 *
25 * An implementiation of a EMCALTracker component that just copies its input data
26 * as a test, demonstration, and example of the HLT component scheme.
27 * @ingroup alihlt_tutorial
28 */
29class AliHLTEMCALTrackerComponent : public AliHLTProcessor
30 {
31 public:
32 AliHLTEMCALTrackerComponent();
33 virtual ~AliHLTEMCALTrackerComponent();
34
35 // Public functions to implement AliHLTComponent's interface.
36 // These functions are required for the registration process
37
38 const char* GetComponentID();
39 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40 AliHLTComponent_DataType GetOutputDataType();
41 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
42 AliHLTComponent* Spawn();
43
44 protected:
45
46 // Protected functions to implement AliHLTComponent's interface.
47 // These functions provide initialization as well as the actual processing
48 // capabilities of the component.
49
50 int DoInit( int argc, const char** argv );
51 int DoDeinit();
52/* int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, */
53/* AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, */
54/* AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks ); */
55 int DoEvent( const AliHLTComponentEventData & evtData,
56 AliHLTComponentTriggerData & trigData );
57
58 using AliHLTProcessor::DoEvent;
59
60 private:
61 /** copy constructor prohibited */
62 AliHLTEMCALTrackerComponent(const AliHLTEMCALTrackerComponent&);
63 /** assignment operator prohibited */
64 AliHLTEMCALTrackerComponent& operator=(const AliHLTEMCALTrackerComponent&);
65
66 // The size of the output data produced, as a percentage of the input data's size.
67 // Can be greater than 100 (%)
68 unsigned fOutputPercentage; // Output volume in percentage of the input
69
70 string fStrorageDBpath; // Default path for OCDB
71 AliCDBManager *fCDB; //! Pointer to OCDB
72
73 AliMagFMaps* fField; //! magn. field settings
74
75 string fGeometryFileName; // Path to geometry file
76 TFile *fGeometryFile; //! // Pointer to the geom root file
77 TGeoManager *fGeoManager; //! Pointer to geometry manager
78
79 AliEMCALTracker *fTracker;//! Offline emcal tracker
80
81 TFolder *fInputFolder;//! input objects - convenient handling
82
83 ClassDef(AliHLTEMCALTrackerComponent, 0)
84 };
85#endif