CbmRoot
|
Cluster finding and hit reconstruction algorithms for the TRD(2D) module. More...
#include <HitFinder2D.h>
Public Types | |
typedef std::pair< Hit, std::vector< DigiRec > > | resultType |
Public Member Functions | |
HitFinder2D () | |
Default constructor. | |
HitFinder2D (HitFinder2DModPar params) | |
Constructor with placement. | |
virtual | ~HitFinder2D () |
std::vector< resultType > | operator() (std::vector< Cluster2D > *clusters) |
Steering routine for building hits. | |
std::pair< int, HitFactory2D > | ProjectDigis (const Cluster2D *cluster) |
bool | BuildHit (Hit *h, HitFactory2D &hitF) |
Implement topologic cuts for hit merging. | |
void | SetHitTimeOffset (int dt) |
Time offset to synchronize TRD2D hits to the rest of detectors. | |
Private Member Functions | |
HitFinder2D (const HitFinder2D &ref) | |
const HitFinder2D & | operator= (const HitFinder2D &ref) |
Hit | MakeHit (int cId, const Cluster2D *cluster) |
int | GetPadRowCol (int address, int &c) |
Addressing ASIC on module based on id. | |
void | CalibrateHit (Hit *h, const double dx, const double dy, const double edx, const double edy, const double edt, const double time, const double tdrift, const double eloss, const HitFactory2D &hitF) |
Private Attributes | |
const float | fClk = CbmTrdDigi::Clk(CbmTrdDigi::eCbmTrdAsicType::kFASP) |
HitFinder2DModPar | fParams |
Parameter container. | |
int | fHitTimeOff = 0 |
Static Private Attributes | |
static Double_t | fgDT [3] = {4.181e-6, 1586, 24} |
hit time offset for synchronization | |
Cluster finding and hit reconstruction algorithms for the TRD(2D) module.
Extend the TRD module reconstructor for the particular case of inner TRD-2D modules. The class is a collection of algorithms to :
Definition at line 42 of file HitFinder2D.h.
std::pair<Hit, std::vector<DigiRec> > cbm::algo::trd::HitFinder2D::resultType |
Definition at line 44 of file HitFinder2D.h.
|
inline |
Default constructor.
Definition at line 47 of file HitFinder2D.h.
cbm::algo::trd::HitFinder2D::HitFinder2D | ( | HitFinder2DModPar | params | ) |
Constructor with placement.
Definition at line 21 of file HitFinder2D.cxx.
|
inlinevirtual |
Definition at line 52 of file HitFinder2D.h.
|
private |
bool cbm::algo::trd::HitFinder2D::BuildHit | ( | Hit * | h, |
HitFactory2D & | hitF ) |
Implement topologic cuts for hit merging.
Definition at line 55 of file HitFinder2D.cxx.
References CalibrateHit(), cbm::algo::trd::HitFactory2D::CorrectPosition(), fClk, fgDT, fParams, cbm::algo::trd::HitFactory2D::fSignal, cbm::algo::trd::HitFactory2D::GetDxDy(), cbm::algo::trd::HitFactory2D::GetHitClass(), cbm::algo::trd::HitFactory2D::GetXcorr(), NANODE, cbm::algo::trd::HitFinder2DModPar::padSizeX, cbm::algo::trd::HitFinder2DModPar::padSizeY, cbm::algo::trd::HitFactory2D::signal::s, cbm::algo::trd::HitFactory2D::signal::t, cbm::algo::trd::HitFactory2D::signal::x, and cbm::algo::trd::HitFactory2D::signal::xe.
Referenced by MakeHit().
|
private |
Definition at line 101 of file HitFinder2D.cxx.
References fClk, fHitTimeOff, fParams, cbm::algo::trd::HitFactory2D::HasOvf(), cbm::algo::trd::HitFactory2D::IsMaxTilt(), cbm::algo::trd::HitFinder2DModPar::rotation, cbm::algo::trd::HitFinder2DModPar::rowPar, cbm::algo::trd::HitFinder2DModPar::translation, cbm::algo::trd::HitFactory2D::vcM, cbm::algo::trd::HitFactory2D::vrM, and cbm::algo::trd::HitFactory2D::vt0.
Referenced by BuildHit().
|
inlineprivate |
Addressing ASIC on module based on id.
[in] | id | module wise ASIC identifier |
Definition at line 274 of file HitFinder2D.cxx.
References fParams, and cbm::algo::trd::HitFinder2DModPar::rowPar.
Referenced by ProjectDigis().
Definition at line 39 of file HitFinder2D.cxx.
References cbm::algo::trd::HitFinder2DModPar::address, BuildHit(), fParams, cbm::algo::trd::Cluster2D::GetRecDigis(), ProjectDigis(), cbm::algo::trd::Hit::SetAddress(), and cbm::algo::trd::Hit::SetRefId().
Referenced by operator()().
std::vector< trd::HitFinder2D::resultType > cbm::algo::trd::HitFinder2D::operator() | ( | std::vector< Cluster2D > * | clusters | ) |
Steering routine for building hits.
Definition at line 24 of file HitFinder2D.cxx.
References MakeHit().
|
private |
std::pair< int, HitFactory2D > cbm::algo::trd::HitFinder2D::ProjectDigis | ( | const Cluster2D * | cluster | ) |
Load digis information in working vectors Digis are represented in the normal coordinate system of (pad width [pw], DAQ time [clk], signal [ADC chs]) with rectangular signals at integer positions.
Definition at line 123 of file HitFinder2D.cxx.
References fParams, cbm::algo::trd::HitFactory2D::fSignal, CbmTrdDigi::GetAddressChannel(), GetPadRowCol(), cbm::algo::trd::Cluster2D::GetRecDigis(), cbm::algo::trd::DigiRec::GetRectCharge(), cbm::algo::trd::DigiRec::GetRectTime(), cbm::algo::trd::DigiRec::GetTiltCharge(), cbm::algo::trd::DigiRec::GetTiltTime(), CbmTrdDigi::GetTimeDAQ(), cbm::algo::trd::DigiRec::HasRectOvf(), cbm::algo::trd::DigiRec::HasTiltOvf(), L_, max(), cbm::algo::trd::HitFactory2D::reset(), cbm::algo::trd::HitFinder2DModPar::rowPar, cbm::algo::trd::HitFactory2D::SetBiasX(), cbm::algo::trd::HitFactory2D::SetBiasY(), cbm::algo::trd::HitFactory2D::SetLeftHit(), cbm::algo::trd::HitFactory2D::SetLeftSgn(), cbm::algo::trd::HitFactory2D::SetMaxTilt(), cbm::algo::trd::HitFactory2D::SetOvf(), cbm::algo::trd::HitFactory2D::SetSymmHit(), cbm::algo::trd::HitFactory2D::vcM, cbm::algo::trd::HitFactory2D::viM, cbm::algo::trd::HitFactory2D::vrM, and cbm::algo::trd::HitFactory2D::vt0.
Referenced by MakeHit().
|
inline |
Time offset to synchronize TRD2D hits to the rest of detectors.
dt | offset in [ns] |
Definition at line 66 of file HitFinder2D.h.
References fHitTimeOff.
|
private |
Definition at line 74 of file HitFinder2D.h.
Referenced by BuildHit(), and CalibrateHit().
|
staticprivate |
hit time offset for synchronization
Definition at line 89 of file HitFinder2D.h.
Referenced by BuildHit().
|
private |
Definition at line 87 of file HitFinder2D.h.
Referenced by CalibrateHit(), and SetHitTimeOffset().
|
private |
Parameter container.
Definition at line 76 of file HitFinder2D.h.
Referenced by BuildHit(), CalibrateHit(), GetPadRowCol(), MakeHit(), and ProjectDigis().