LCOV - code coverage report
Current view: top level - HLT/TRD - AliHLTTRDClusterizer.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 19 5.3 %
Date: 2016-06-14 17:26:59 Functions: 1 16 6.2 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : 
       4             : #ifndef ALIHLTTRDCLUSTERIZER_H
       5             : #define ALIHLTTRDCLUSTERIZER_H
       6             : //* This file is property of and copyright by the ALICE HLT Project        * 
       7             : //* ALICE Experiment at CERN, All rights reserved.                         *
       8             : //* See cxx source for full Copyright notice                               *
       9             : 
      10             : ////////////////////////////////////////////////////////////////////////////
      11             : //                                                                        //
      12             : //  HLT TRD cluster finder                                                //
      13             : //                                                                        //
      14             : ////////////////////////////////////////////////////////////////////////////
      15             : 
      16             : #include "AliTRDclusterizer.h"
      17             : #include "AliTRDReconstructor.h"
      18             : #include "AliHLTDataTypes.h"
      19             : #include "AliHLTTRDTrackletWordArray.h"
      20             : 
      21             : class AliHLTTRDClustersArray;
      22             : class AliHLTTRDClusterizer : public AliTRDclusterizer
      23             : {
      24             :  public:
      25             :   AliHLTTRDClusterizer(const AliTRDReconstructor *const rec = 0x0);
      26             :   AliHLTTRDClusterizer(const Text_t *const name, const Text_t *const title, const AliTRDReconstructor *const rec = 0x0);
      27             :   AliHLTTRDClusterizer(const AliHLTTRDClusterizer& c);
      28           0 :   virtual ~AliHLTTRDClusterizer() {};
      29             :   AliHLTTRDClusterizer& operator=(const AliHLTTRDClusterizer& c);
      30             : 
      31             :   void            Copy(TObject& c) const;
      32             :   void            SetMemBlock(AliHLTUInt8_t* ptr){
      33           0 :     if(fReconstructor->IsProcessingTracklets()){
      34           0 :       fTrMemBlock=ptr; fTrMemCurrPtr=ptr;
      35           0 :       fClMemBlock=ptr+GetTrMemBlockSize();  //if IsProcessingTracklets() is enabled we always reserve a data block of size GetTrMemBlockSize() for the tracklets
      36           0 :     }else{
      37           0 :       fClMemBlock=ptr;
      38             :     }
      39           0 :     fNoOfClusters=0;
      40           0 :     fAddedSize=0;
      41           0 :     fLastDet=-1;
      42           0 :     fClusters=NULL;
      43           0 :   }
      44           0 :   AliHLTUInt8_t*  GetClMemBlock(){return fClMemBlock;}
      45           0 :   AliHLTUInt8_t*  GetTrMemBlock(){return fTrMemBlock;}
      46           0 :   UInt_t          GetAddedClSize(){return fAddedSize;}
      47           0 :   UInt_t          GetAddedTrSize(){return (AliHLTUInt8_t*)fTrMemCurrPtr-(AliHLTUInt8_t*)fTrMemBlock;}
      48           0 :   UInt_t          GetTrMemBlockSize(){return 30*(sizeof(AliHLTTRDTrackletWordArray)+512*sizeof(UInt_t));}
      49             : 
      50             :  protected:
      51             :   void            AddClusterToArray(AliTRDcluster* cluster);
      52             :   void            AddTrackletsToArray();
      53             : 
      54           0 :   TClonesArray*   RecPoints(){return 0x0;}       //these are functions in the parents class and must not be used in hlt!
      55             :   TClonesArray*   TrackletsArray(){return 0x0;}  //if used accidentally it may give a compilation error because they are protected,
      56           0 :   void  SetClustersOwner(Bool_t /*own*/){}       //but it could be that the error appears only in  run time
      57             :   
      58             :   AliHLTUInt8_t*  fClMemBlock;
      59             :   AliHLTUInt8_t*  fTrMemBlock;
      60             :   AliHLTUInt8_t*  fTrMemCurrPtr;
      61             :   Int_t           fLastDet;
      62             :   AliHLTTRDClustersArray* fClusters;
      63             :   AliHLTUInt32_t  fAddedSize;
      64             : 
      65           6 :   ClassDef(AliHLTTRDClusterizer, 1)
      66             : };
      67             : 
      68             : #endif

Generated by: LCOV version 1.11