read magnetic field from local GRP
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizer.h
CommitLineData
dc2e6604 1#ifndef ALIHLTTRDCLUSTERIZER_H
2#define ALIHLTTRDCLUSTERIZER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6////////////////////////////////////////////////////////////////////////////
7// //
8// HLT TRD cluster finder //
9// //
10////////////////////////////////////////////////////////////////////////////
11
12#include "AliTRDclusterizer.h"
775f67d7 13#include "AliTRDReconstructor.h"
dc2e6604 14#include "AliHLTTRDCluster.h"
15#include "AliHLTDataTypes.h"
775f67d7 16#include "AliHLTTRDTrackletWordArray.h"
dc2e6604 17
775f67d7 18class AliHLTTRDTrackletWord;
dc2e6604 19
20class AliHLTTRDClusterizer : public AliTRDclusterizer
21{
22 public:
23 AliHLTTRDClusterizer(const AliTRDReconstructor *const rec = 0x0);
24 AliHLTTRDClusterizer(const Text_t *const name, const Text_t *const title, const AliTRDReconstructor *const rec = 0x0);
25 AliHLTTRDClusterizer(const AliHLTTRDClusterizer& c);
26 AliHLTTRDClusterizer& operator=(const AliHLTTRDClusterizer& c);
27
18ada816 28 void Copy(TObject& c) const;
775f67d7 29 void SetMemBlock(AliHLTUInt8_t* ptr){
30 if(fReconstructor->IsProcessingTracklets()){
31 fTrMemBlock=ptr; fTrMemCurrPtr=ptr;
32 fClMemBlock=ptr+GetTrMemBlockSize(); fNoOfClusters=0; //if IsProcessingTracklets() is enabled we always reserve a data block of size GetTrMemBlockSize() for the tracklets
33 }else{
34 fClMemBlock=ptr; fNoOfClusters=0;
35 }
36 }
37 AliHLTUInt8_t* GetClMemBlock(){return fClMemBlock;}
38 AliHLTUInt8_t* GetTrMemBlock(){return fTrMemBlock;}
39 UInt_t GetAddedClSize(){return fNoOfClusters*sizeof(AliHLTTRDCluster);}
40 UInt_t GetAddedTrSize(){return (AliHLTUInt8_t*)fTrMemCurrPtr-(AliHLTUInt8_t*)fTrMemBlock;}
41 UInt_t GetTrMemBlockSize(){return 30*(sizeof(AliHLTTRDTrackletWordArray)+512*sizeof(UInt_t));}
dc2e6604 42
43 protected:
dc2e6604 44 void AddClusterToArray(AliTRDcluster *cluster);
775f67d7 45 void AddTrackletsToArray();
18ada816 46
775f67d7 47 TClonesArray* RecPoints(){return 0x0;} //these are functions in the parents class and must not be used in hlt!
48 TClonesArray* TrackletsArray(){return 0x0;} //if used accidentally it may give a compilation error because they are protected,
49 void SetClustersOwner(Bool_t /*own*/){} //but it could be that the error appears only in run time
dc2e6604 50
775f67d7 51 AliHLTUInt8_t* fClMemBlock;
52 AliHLTUInt8_t* fTrMemBlock;
53 AliHLTUInt8_t* fTrMemCurrPtr;
dc2e6604 54
775f67d7 55 ClassDef(AliHLTTRDClusterizer, 1)
dc2e6604 56};
57
58#endif