]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCdEdxComponent.h
coverity warning 10034 fixed
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCdEdxComponent.h
CommitLineData
0973c527 1//-*- Mode: C++ -*-
2// ************************************************************************
3// This file is property of and copyright by the ALICE HLT Project *
4// ALICE Experiment at CERN, All rights reserved. *
5// See cxx source for full Copyright notice *
6// *
7//*************************************************************************
8
9/// @file AliHLTTPCdEdxComponent.h
10/// @author Sergey Gorbunov <sergey.gorbunov@kip.uni-heidelberg.de>
11/// @date June 2009
12/// @brief An ITS tracker processing component for the HLT
13
14#ifndef ALIHLTTPCDEDXCOMPONENT_H
15#define ALIHLTTPCDEDXCOMPONENT_H
16
17#include "AliHLTProcessor.h"
18#include "AliHLTDataTypes.h"
19class AliTPCclusterMI;
20
21/**
22 * @class AliHLTTPCdEdxComponent
23 * The dEdx calculator component for the HLT TPC
24 *
25 */
26class AliHLTTPCdEdxComponent : public AliHLTProcessor
27{
28public:
29 /** standard constructor */
30 AliHLTTPCdEdxComponent();
31
32 /** dummy copy constructor, defined according to effective C++ style */
33 AliHLTTPCdEdxComponent( const AliHLTTPCdEdxComponent& );
34
35 /** dummy assignment op, but defined according to effective C++ style */
36 AliHLTTPCdEdxComponent& operator=( const AliHLTTPCdEdxComponent& );
37
38 /** standard destructor */
39 virtual ~AliHLTTPCdEdxComponent();
40
41 // Public functions to implement AliHLTComponent's interface.
42 // These functions are required for the registration process
43
44 /** @see component interface @ref AliHLTComponent::GetComponentID */
45 const char* GetComponentID() ;
46
47 /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
48 void GetInputDataTypes( vector<AliHLTComponentDataType>& list ) ;
49
50 /** @see component interface @ref AliHLTComponent::GetOutputDataType */
51 AliHLTComponentDataType GetOutputDataType() ;
52
53 /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
54 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) ;
55
56 /** @see component interface @ref AliHLTComponent::Spawn */
57 AliHLTComponent* Spawn() ;
58
59protected:
60
61 // Protected functions to implement AliHLTComponent's interface.
62 // These functions provide initialization as well as the actual processing
63 // capabilities of the component.
64
65 /** @see component interface @ref AliHLTComponent::DoInit */
66 int DoInit( int argc, const char** argv );
67
68 /** @see component interface @ref AliHLTComponent::DoDeinit */
69 int DoDeinit();
70
71 /** reconfigure **/
72 int Reconfigure( const char* cdbEntry, const char* chainId );
73
74 /** @see component interface @ref AliHLTProcessor::DoEvent */
75 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
76 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
77 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
78
79 private:
80
81 /** magnetic field */
82 double fSolenoidBz; // see above
83 double fStatTime; //* total time for DoEvent() [s]
84 Long_t fStatNEvents; //* number of reconstructed events
85 static const Int_t fkNPatches = 36*6; // number of patches in TPC
86 AliTPCclusterMI *fPatchClusters[fkNPatches]; //! arrays of cluster data for each TPC patch
87 Int_t fNPatchClusters[fkNPatches]; //! N of clusters for each TPC patch
88
89 /** set configuration parameters **/
90 void SetDefaultConfiguration();
91 int ReadConfigurationString( const char* arguments );
92 int ReadCDBEntry( const char* cdbEntry, const char* chainId );
93 int Configure( const char* cdbEntry, const char* chainId, const char *commandLine );
94
95 ClassDef( AliHLTTPCdEdxComponent, 0 );
96
97};
98#endif