CbmRoot
Loading...
Searching...
No Matches
CbmTrdHitProducer Class Reference

#include <CbmTrdHitProducer.h>

Inheritance diagram for CbmTrdHitProducer:
[legend]
Collaboration diagram for CbmTrdHitProducer:
[legend]

Public Member Functions

 CbmTrdHitProducer ()
 Constructor.
 
virtual ~CbmTrdHitProducer ()
 Destructor.
 
virtual InitStatus Init ()
 Inherited form FairTask.
 
virtual void Exec (Option_t *option="")
 Inherited from FairTask.
 
virtual void Finish ()
 Inherited from FairTask.
 
virtual void SetParContainers ()
 
void SetHitTimeOffset (int dt)
 Correction of hit time in TRD2D due to different processes.
 

Private Member Functions

 CbmTrdHitProducer (const CbmTrdHitProducer &)
 
CbmTrdHitProduceroperator= (const CbmTrdHitProducer &)
 
CbmTrdModuleRecAddModule (Int_t address, const CbmTrdParModGeo *pg)
 
UInt_t processClusters ()
 Process all clusters found in the TrdClusters branch.
 
UInt_t processClusters (CbmEvent *event)
 Process all clusters attached to the given event.
 
void processCluster (const Int_t clusterIdx)
 Produce a hit from the cluster found at clusterIdx in fClusters.
 
UInt_t addModuleHits (CbmTrdModuleRec *mod, CbmEvent *event)
 Pass all hits produced by the given module to the TrdHit branch. In case of event not nullptr only the hits conditioned by event are returned.
 
Int_t addHits (CbmEvent *event=nullptr)
 Loop over all modules in the given geometry and call addModuleHits(imodule)
 
 ClassDef (CbmTrdHitProducer, 2)
 

Private Attributes

TClonesArray * fClusters = nullptr
 Input array of CbmTrdCluster.
 
TClonesArray * fHits = nullptr
 Output array of CbmTrdHit.
 
TClonesArray * fEvents = nullptr
 Array connected to the CbmEvent branch.
 
std::map< Int_t, CbmTrdModuleRec * > fModules = {}
 list of modules being processed
 
CbmTrdParSetAsicfAsicPar = nullptr
 parameter list for ASIC characterization
 
CbmTrdParSetGasfGasPar = nullptr
 parameter list for HV status
 
CbmTrdParSetDigifDigiPar = nullptr
 parameter list for read-out geometry
 
CbmTrdParSetGainfGainPar = nullptr
 parameter list for keV->ADC gain conversion
 
CbmTrdParSetGeofGeoPar = nullptr
 parameter list for modules geometry
 
UInt_t fNrTs = 0
 Number of processed time slices.
 
UInt_t fNrEvents = 0
 Number of processed events (without CbmEvent corresponds to nr of exec calls)
 
UInt_t fNrClusters = 0
 Number of clusters as input for the hit production.
 
UInt_t fNrHits = 0
 Number of produced hits.
 
UInt_t fNrHitsCall = 0
 Number of produced hits per call of Exec, i.e. Event(EbyE) or TimeSlice(TB).
 
Float_t fProcessTime = 0
 Total processing time [RealTime].
 
int fHitTimeOffset = 0
 hit time correction for synchronization
 

Detailed Description

Definition at line 36 of file CbmTrdHitProducer.h.

Constructor & Destructor Documentation

◆ CbmTrdHitProducer() [1/2]

CbmTrdHitProducer::CbmTrdHitProducer ( )

Constructor.

Definition at line 49 of file CbmTrdHitProducer.cxx.

◆ ~CbmTrdHitProducer()

CbmTrdHitProducer::~CbmTrdHitProducer ( )
virtual

Destructor.

Definition at line 52 of file CbmTrdHitProducer.cxx.

References fHits.

◆ CbmTrdHitProducer() [2/2]

CbmTrdHitProducer::CbmTrdHitProducer ( const CbmTrdHitProducer & )
private

Member Function Documentation

◆ addHits()

Int_t CbmTrdHitProducer::addHits ( CbmEvent * event = nullptr)
private

Loop over all modules in the given geometry and call addModuleHits(imodule)

Parameters
event
Returns
Int_t

Definition at line 223 of file CbmTrdHitProducer.cxx.

References addModuleHits(), and fModules.

Referenced by processClusters(), and processClusters().

◆ AddModule()

◆ addModuleHits()

UInt_t CbmTrdHitProducer::addModuleHits ( CbmTrdModuleRec * mod,
CbmEvent * event )
private

Pass all hits produced by the given module to the TrdHit branch. In case of event not nullptr only the hits conditioned by event are returned.

Parameters
mod: Trd module being processed
event: not nullptr for event based reconstruction

Absorb the TClonesArrays of the individual modules into the global TClonesArray.

Definition at line 60 of file CbmTrdHitProducer.cxx.

References CbmEvent::AddData(), fHits, fNrHits, fNrHitsCall, CbmTrdModuleRec::GetHits(), hits, and kTrdHit.

Referenced by addHits().

◆ ClassDef()

CbmTrdHitProducer::ClassDef ( CbmTrdHitProducer ,
2  )
private

◆ Exec()

void CbmTrdHitProducer::Exec ( Option_t * option = "")
virtual

◆ Finish()

void CbmTrdHitProducer::Finish ( )
virtual

Inherited from FairTask.

Definition at line 354 of file CbmTrdHitProducer.cxx.

References fNrClusters, fNrEvents, fNrHits, and fProcessTime.

◆ Init()

◆ operator=()

CbmTrdHitProducer & CbmTrdHitProducer::operator= ( const CbmTrdHitProducer & )
private

◆ processCluster()

void CbmTrdHitProducer::processCluster ( const Int_t clusterIdx)
private

Produce a hit from the cluster found at clusterIdx in fClusters.

Parameters
clusterIdx

Definition at line 199 of file CbmTrdHitProducer.cxx.

References fClusters, fModules, fNrClusters, CbmDigiManager::Get(), CbmTrdDigi::GetCharge(), CbmTrdDigi::GetType(), CbmDigiManager::Instance(), and CbmTrdDigi::kSPADIC.

Referenced by processClusters(), and processClusters().

◆ processClusters() [1/2]

UInt_t CbmTrdHitProducer::processClusters ( )
private

Process all clusters found in the TrdClusters branch.

Returns
UInt_t

Definition at line 160 of file CbmTrdHitProducer.cxx.

References addHits(), CbmTrdClusterFinder::DoDebugPrintouts(), fClusters, and processCluster().

Referenced by Exec().

◆ processClusters() [2/2]

UInt_t CbmTrdHitProducer::processClusters ( CbmEvent * event)
private

Process all clusters attached to the given event.

Parameters
event
Returns
UInt_t

Definition at line 178 of file CbmTrdHitProducer.cxx.

References addHits(), CbmTrdClusterFinder::DoDebugPrintouts(), kTrdCluster, and processCluster().

◆ SetHitTimeOffset()

void CbmTrdHitProducer::SetHitTimeOffset ( int dt)
inline

Correction of hit time in TRD2D due to different processes.

Definition at line 64 of file CbmTrdHitProducer.h.

References fHitTimeOffset.

◆ SetParContainers()

void CbmTrdHitProducer::SetParContainers ( )
virtual

Definition at line 373 of file CbmTrdHitProducer.cxx.

References fAsicPar, fDigiPar, fGainPar, fGasPar, and fGeoPar.

Member Data Documentation

◆ fAsicPar

CbmTrdParSetAsic* CbmTrdHitProducer::fAsicPar = nullptr
private

parameter list for ASIC characterization

Definition at line 120 of file CbmTrdHitProducer.h.

Referenced by AddModule(), and SetParContainers().

◆ fClusters

TClonesArray* CbmTrdHitProducer::fClusters = nullptr
private

Input array of CbmTrdCluster.

Definition at line 113 of file CbmTrdHitProducer.h.

Referenced by Exec(), Init(), processCluster(), and processClusters().

◆ fDigiPar

CbmTrdParSetDigi* CbmTrdHitProducer::fDigiPar = nullptr
private

parameter list for read-out geometry

Definition at line 122 of file CbmTrdHitProducer.h.

Referenced by AddModule(), Init(), and SetParContainers().

◆ fEvents

TClonesArray* CbmTrdHitProducer::fEvents = nullptr
private

Array connected to the CbmEvent branch.

Definition at line 117 of file CbmTrdHitProducer.h.

Referenced by Exec(), and Init().

◆ fGainPar

CbmTrdParSetGain* CbmTrdHitProducer::fGainPar = nullptr
private

parameter list for keV->ADC gain conversion

Definition at line 123 of file CbmTrdHitProducer.h.

Referenced by AddModule(), and SetParContainers().

◆ fGasPar

CbmTrdParSetGas* CbmTrdHitProducer::fGasPar = nullptr
private

parameter list for HV status

Definition at line 121 of file CbmTrdHitProducer.h.

Referenced by AddModule(), and SetParContainers().

◆ fGeoPar

CbmTrdParSetGeo* CbmTrdHitProducer::fGeoPar = nullptr
private

parameter list for modules geometry

Definition at line 124 of file CbmTrdHitProducer.h.

Referenced by Init(), and SetParContainers().

◆ fHits

TClonesArray* CbmTrdHitProducer::fHits = nullptr
private

Output array of CbmTrdHit.

Definition at line 115 of file CbmTrdHitProducer.h.

Referenced by addModuleHits(), Exec(), Init(), and ~CbmTrdHitProducer().

◆ fHitTimeOffset

int CbmTrdHitProducer::fHitTimeOffset = 0
private

hit time correction for synchronization

Definition at line 143 of file CbmTrdHitProducer.h.

Referenced by AddModule(), and SetHitTimeOffset().

◆ fModules

std::map<Int_t, CbmTrdModuleRec*> CbmTrdHitProducer::fModules = {}
private

list of modules being processed

Definition at line 119 of file CbmTrdHitProducer.h.

Referenced by addHits(), and processCluster().

◆ fNrClusters

UInt_t CbmTrdHitProducer::fNrClusters = 0
private

Number of clusters as input for the hit production.

Definition at line 133 of file CbmTrdHitProducer.h.

Referenced by Finish(), and processCluster().

◆ fNrEvents

UInt_t CbmTrdHitProducer::fNrEvents = 0
private

Number of processed events (without CbmEvent corresponds to nr of exec calls)

Definition at line 130 of file CbmTrdHitProducer.h.

Referenced by Exec(), and Finish().

◆ fNrHits

UInt_t CbmTrdHitProducer::fNrHits = 0
private

Number of produced hits.

Definition at line 136 of file CbmTrdHitProducer.h.

Referenced by addModuleHits(), and Finish().

◆ fNrHitsCall

UInt_t CbmTrdHitProducer::fNrHitsCall = 0
private

Number of produced hits per call of Exec, i.e. Event(EbyE) or TimeSlice(TB).

Definition at line 139 of file CbmTrdHitProducer.h.

Referenced by addModuleHits(), and Exec().

◆ fNrTs

UInt_t CbmTrdHitProducer::fNrTs = 0
private

Number of processed time slices.

Definition at line 127 of file CbmTrdHitProducer.h.

Referenced by Exec().

◆ fProcessTime

Float_t CbmTrdHitProducer::fProcessTime = 0
private

Total processing time [RealTime].

Definition at line 142 of file CbmTrdHitProducer.h.

Referenced by Exec(), and Finish().


The documentation for this class was generated from the following files: