CbmRoot
Loading...
Searching...
No Matches
CbmTrdDigiRec.h
Go to the documentation of this file.
1/* Copyright (C) 2018-2020 Horia Hulubei National Institute of Physics and Nuclear Engineering, Bucharest
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Alexandru Bercuci[committer] */
4
5#ifndef CBMTRDDIGIREC_H
6#define CBMTRDDIGIREC_H
7
8#include "CbmTrdDigi.h"
9#include "Rtypes.h" // for ROOT typedefs (Double_t etc.) and TESTBIT
10
23class CbmTrdDigiRec : public CbmTrdDigi {
24 friend class CbmTrdModuleRec2D;
25
26 public:
30 CbmTrdDigiRec(const CbmTrdDigi& d, Double_t* g = NULL, Double_t* t = NULL);
31 virtual ~CbmTrdDigiRec() { ; }
32
35 Double_t GetTiltCharge(Bool_t& on) const { return GetCharge(0, on); }
37 Double_t GetTiltTime() const { return GetTime(0); }
40 Double_t GetRectCharge(Bool_t& on) const { return GetCharge(1, on); }
42 Double_t GetRectTime() const { return GetTime(1); }
47 Double_t GetCharge(Int_t typ, Bool_t& on) const;
51 Double_t GetTime(Int_t typ) const;
52 Bool_t HasRectOvf() const { return TESTBIT(fStatus, 1); }
53 Bool_t HasTiltOvf() const { return TESTBIT(fStatus, 0); }
55 void Init(Double_t g[2], Double_t t[3]);
56
57 protected:
59 CbmTrdDigiRec(const CbmTrdDigi& dt, const CbmTrdDigi& dr, Double_t* g = NULL, Double_t* t = NULL);
60
61 private:
62 UChar_t fStatus; //< bit map to store calibration flags
63 Double_t fG[2]; //< FEE gain correction for channel T & R
64 Double_t fT[3]; //< FEE time walk correction as function of charge
65 ClassDef(CbmTrdDigiRec, 1); // Wrapper around the RAW TRD digi (CbmTrdDigi) to acount for calibration
66};
67
68#endif
#define TESTBIT(n, i)
Definition RTypes.h:17
Extend the TRD(2D) digi class to incorporate FEE calibration.
virtual ~CbmTrdDigiRec()
void Init(Double_t g[2], Double_t t[3])
Init FEE gain and time walk corrections.
Double_t GetTiltCharge(Bool_t &on) const
Return calibrated tilt signal.
Double_t fG[2]
Bool_t HasRectOvf() const
ClassDef(CbmTrdDigiRec, 1)
Double_t fT[3]
CbmTrdDigiRec()
Default constructor.
Double_t GetTiltTime() const
Return calibrated tilt time [ns].
Double_t GetRectTime() const
Return calibrated rect time [ns].
Double_t GetRectCharge(Bool_t &on) const
Return calibrated rect signal.
Bool_t HasTiltOvf() const
double GetTime() const
Getter for physical time [ns]. Accounts for clock representation of each ASIC. In SPADIC case physica...
Definition CbmTrdDigi.h:153
double GetCharge() const
Common purpose charge getter.
Cluster finding and hit reconstruction algorithms for the TRD(2D) module.