LCOV - code coverage report
Current view: top level - TRD/TRDbase - AliTRDtrackletWord.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 4 17 23.5 %
Date: 2016-06-14 17:26:59 Functions: 4 20 20.0 %

          Line data    Source code
       1             : #ifndef ALITRDTRACKLETWORD_H
       2             : #define ALITRDTRACKLETWORD_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id: AliTRDtrackletWord.h 27496 2008-07-22 08:35:45Z cblume $ */
       7             : 
       8             : //-----------------------------------
       9             : //
      10             : // TRD tracklet word (as from FEE)
      11             : // only 32-bit of information + detector ID
      12             : //
      13             : //----------------------------------
      14             : 
      15             : #include "AliTRDtrackletBase.h"
      16             : #include "AliTRDgeometry.h"
      17             : #include "AliTRDpadPlane.h"
      18             : 
      19             : class AliTRDtrackletWord : public AliTRDtrackletBase {
      20             :  public:
      21             :   AliTRDtrackletWord(UInt_t trackletWord = 0);
      22             :   AliTRDtrackletWord(UInt_t trackletWord, Int_t hcid);
      23             :   AliTRDtrackletWord(const AliTRDtrackletWord &rhs);
      24             :   ~AliTRDtrackletWord();
      25             : 
      26             :   // ----- Getters for contents of tracklet word -----
      27             :   Int_t GetYbin() const;
      28             :   Int_t GetdY() const;
      29         176 :   Int_t GetZbin() const { return ((fTrackletWord >> 20) & 0xf); }
      30           0 :   Int_t GetPID() const { return ((fTrackletWord >> 24) & 0xff); }
      31             : 
      32             :   Int_t GetROB() const;
      33             :   Int_t GetMCM() const;
      34             : 
      35             :   // ----- Getters for offline corresponding values -----
      36           0 :   Bool_t CookPID() { return kFALSE; }
      37           0 :   Double_t GetPID(Int_t /* is */) const { return (Double_t) GetPID()/256.; }
      38           0 :   Int_t GetDetector() const { return fHCId / 2; }
      39        2146 :   Int_t GetHCId() const { return fHCId; }
      40           0 :   Float_t GetdYdX() const { return (GetdY() * 140e-4 / 3.); }
      41           0 :   Float_t GetX() const { return fgGeo->GetTime0((fHCId%12)/2); }
      42           0 :   Float_t GetY() const { return (GetYbin() * 160e-4); }
      43           0 :   Float_t GetZ() const { return fgGeo->GetPadPlane((fHCId % 12) / 2, (fHCId/12) % 5)->GetRowPos(GetZbin()) -
      44           0 :       fgGeo->GetPadPlane((fHCId % 12) / 2, (fHCId/12) % 5)->GetRowSize(GetZbin())  * .5; }
      45           0 :   Float_t GetLocalZ() const { return GetZ() - fgGeo->GetPadPlane((fHCId % 12) / 2, (fHCId/12) % 5)->GetRowPos((((fHCId/12) % 5) != 2) ? 8 : 6); }
      46             : 
      47         718 :   UInt_t GetTrackletWord() const { return fTrackletWord; }
      48           0 :   void SetTrackletWord(UInt_t trackletWord) { fTrackletWord = trackletWord; }
      49             : 
      50           0 :   void SetDetector(Int_t id) { fHCId = 2 * id + (GetYbin() < 0 ? 0 : 1); }
      51           0 :   void SetHCId(Int_t id) { fHCId = id; }
      52             : 
      53             :  protected:
      54             :   Int_t fHCId;                  // half-chamber ID
      55             :   UInt_t fTrackletWord;         // tracklet word: PID | Z | deflection length | Y
      56             :                                 //          bits:   8   4            7          13
      57             :   static AliTRDgeometry *fgGeo;  // pointer to TRD geometry for coordinate calculations
      58             : 
      59             :  private:
      60             :   AliTRDtrackletWord& operator=(const AliTRDtrackletWord &rhs);   // not implemented
      61             : 
      62          48 :   ClassDef(AliTRDtrackletWord, 2);
      63             : };
      64             : 
      65             : #endif

Generated by: LCOV version 1.11