adding access interface for HLT TPC clusters to be used from the TPCreconstruction
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterAccessHLTOUT.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 #ifndef ALIHLTTPCCLUSTERACCESSHLTOUT_H
4 #define ALIHLTTPCCLUSTERACCESSHLTOUT_H
5 //* This file is property of and copyright by the ALICE HLT Project        * 
6 //* ALICE Experiment at CERN, All rights reserved.                         *
7 //* See cxx source for full Copyright notice                               *
8
9 /// @file   AliHLTTPCClusterAccessHLTOUT.h
10 /// @author Matthias Richter
11 /// @date   2011-06-06
12 /// @brief  Interface to HLT TPC clusters
13 ///
14
15 #include "TObject.h"
16
17 class AliTPCClustersRow;
18 class AliHLTOUT;
19 class TClonesArray;
20
21 /**
22  * @class AliHLTTPCClusterAccessHLTOUT
23  * Generator for TPC cluster array from HLT TPC clusters in the HLTOUT
24  * data stream.
25  *
26  * @ingroup alihlt_tpc
27  */
28 class AliHLTTPCClusterAccessHLTOUT : public TObject
29 {
30  public:
31   /** standard constructor */
32   AliHLTTPCClusterAccessHLTOUT();
33   /** destructor */
34   ~AliHLTTPCClusterAccessHLTOUT();
35
36   /// inherited from TObject: abstract command interface
37   virtual void        Execute(const char *method,  const char *params, Int_t *error=0);
38
39   /// inherited from TObject: return the cluster array if name id "clusterarray"
40   virtual TObject    *FindObject(const char *name) const;
41
42   /// inherited from TObject: cleanup
43   virtual void        Clear(Option_t * option ="");
44
45   /// inherited from TObject
46   virtual void        Print(Option_t *option="") const;
47
48   /// process the cluster data block of various formats from HLTOUT
49   int ProcessClusters();
50
51   /// process the cluster data block {CLUSTERS:TPC } from HLTOUT
52   int ReadAliHLTTPCClusterData(AliHLTOUT* pHLTOUT, TClonesArray* pClusters) const;
53
54  private:
55   /// copy constructor prohibited
56   AliHLTTPCClusterAccessHLTOUT(const AliHLTTPCClusterAccessHLTOUT&);
57   /// assignment operator prohibited
58   AliHLTTPCClusterAccessHLTOUT& operator=(const AliHLTTPCClusterAccessHLTOUT&);
59
60   TClonesArray* fClusters;
61
62   ClassDef(AliHLTTPCClusterAccessHLTOUT, 0)
63 };
64 #endif