]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/OnlineAnalysis/AliHLTMUONFullTrackerComponent.h
Reversing commit 42768 because it apparently breaks the code. Waiting for proper...
[u/mrichter/AliRoot.git] / HLT / MUON / OnlineAnalysis / AliHLTMUONFullTrackerComponent.h
1 #ifndef ALIHLTMUONFULLTRACKERCOMPONENT_H
2 #define ALIHLTMUONFULLTRACKERCOMPONENT_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
9 /// \ingroup libAliHLTMUON.so
10 /// \class AliHLTMUONFullTrackerComponent
11 /// \brief Component to handle full tracker
12 ///
13 //  Indranil Das, email : indra.das@saha.ac.in | indra.ehep@gmail.com , Saha Institute of Nuclear Physics
14
15 #include "AliHLTMUONProcessor.h"
16 #include "AliHLTMUONFullTracker.h"
17 #include <cassert>
18
19
20 class AliHLTMUONFullTrackerComponent : public AliHLTMUONProcessor {
21  public:
22   /// Constructor
23   AliHLTMUONFullTrackerComponent();
24   /// Destructor
25   virtual ~AliHLTMUONFullTrackerComponent();
26
27   /// Get the component ID
28   const char* GetComponentID();
29   /// Get Output Data Types
30   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
31   /// Get Output Data Types
32   AliHLTComponentDataType GetOutputDataType();
33   /// Output Data Types
34   virtual int GetOutputDataTypes(AliHLTComponentDataTypeList& list);
35   /// Output Data Sizes
36   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37   /// Spawn
38   AliHLTComponent* Spawn();
39
40  protected:
41   // AliHLTComponent interface functions
42   int DoInit( int argc, const char** argv );
43   /// DeInitialisation
44   int DoDeinit();
45   /// Process events
46   int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
47                AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
48                AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
49   /// Reconfigure
50   int Reconfigure(const char* cdbEntry, const char* chainId);
51   /// Read preprocessor values
52   int ReadPreprocessorValues(const char* modules);
53
54   using AliHLTProcessor::DoEvent;
55
56  private:
57
58   // Do not allow copying of this class.
59   /// Not implemented.
60   AliHLTMUONFullTrackerComponent(const AliHLTMUONFullTrackerComponent& /*obj*/);
61   /// Not implemented.
62   AliHLTMUONFullTrackerComponent& operator = (const AliHLTMUONFullTrackerComponent& /*obj*/);
63
64   /**
65    * Configure the component.
66    * Parse a string for the configuration arguments and set the component
67    * properties.
68    *
69    * This function illustrates the scanning of an argument string. The string
70    * was presumably fetched from the CDB.
71    */
72   int Configure(const char* arguments);
73   
74   AliHLTMUONFullTracker *fTracker; /// Pointer to the full tracker
75   
76   ClassDef(AliHLTMUONFullTrackerComponent, 0)
77     };
78 #endif