CbmRoot
CbmMuchSignal Class Reference

Data class for an analog signal in the MUCH Simple data class used in the digitisation process of the MUCH. It describes an analog charge distribution produced in the MUCH GEM Detector and arriving at the readout. It contains time and charge information corresponding to the MUCH Pad. In the most general case, a signal can be produced by more than one MCPoint; that is why the MC reference is of type CbmMatch and not CbmLink. More...

#include <CbmMuchSignal.h>

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

Public Member Functions

 CbmMuchSignal ()
 
 CbmMuchSignal (UInt_t address, Long64_t starttime=0)
 
 CbmMuchSignal (CbmMuchSignal *signal)=delete
 
 CbmMuchSignal (const CbmMuchSignal &)
 
CbmMuchSignaloperator= (const CbmMuchSignal &)=delete
 
virtual ~CbmMuchSignal ()
 
Long_t GetTimeStart () const
 
Long64_t GetTimeStop () const
 
UInt_t GetCharge () const
 
UInt_t GetPileUpCount () const
 
CbmMatchGetMatch () const
 
Int_t GetAddress () const
 
void SetTimeStart (Long_t starttime)
 
void SetTimeStop (Long_t stoptime)
 
void SetCharge (UInt_t charge)
 
void SetMatch (CbmMatch *match)
 
void MergeSignal (CbmMuchSignal *)
 
void AddNoise (UInt_t)
 
Int_t GetCharge ()
 
Long64_t GetTimeStamp ()
 

Private Member Functions

 ClassDef (CbmMuchSignal, 2)
 

Private Attributes

UInt_t fAddress
 
Long64_t fTimeStart
 
Long64_t fTimeStop
 
UInt_t fCharge
 
UInt_t fPileUpCount = 0
 
CbmMatchfMatch
 

Detailed Description

Data class for an analog signal in the MUCH Simple data class used in the digitisation process of the MUCH. It describes an analog charge distribution produced in the MUCH GEM Detector and arriving at the readout. It contains time and charge information corresponding to the MUCH Pad. In the most general case, a signal can be produced by more than one MCPoint; that is why the MC reference is of type CbmMatch and not CbmLink.

CbmMuchSignal.cxx

Author
Vikas Singhal vikas.nosp@m.@vec.nosp@m.c.gov.nosp@m..in
Since
25/04/18
Version
3.0 // Removing fPileUpTime and fModifiedCharge
Author
Vikas Singhal vikas.nosp@m.@vec.nosp@m.c.gov.nosp@m..in
Since
10/04/18
Version
2.0 Removing fSignalShape, which is mainly useful for PileUp Cases, but taking too much memory. Will implement similar behaviour via computing PileUp effect on the fly.
Since
17/05/16
Version
1.0

Definition at line 31 of file CbmMuchSignal.h.

Constructor & Destructor Documentation

◆ CbmMuchSignal() [1/4]

CbmMuchSignal::CbmMuchSignal ( )
inline

Default Constructor

Definition at line 34 of file CbmMuchSignal.h.

◆ CbmMuchSignal() [2/4]

CbmMuchSignal::CbmMuchSignal ( UInt_t  address,
Long64_t  starttime = 0 
)
inline

Standard constructor

Parameters
fTimeStartStart time [ns]
fTimeStopStop time [ns] = Start Time + Dead Time
fChargeCharge in electrons as slowshaper output of XYTER
fModifiedChargeCharge after PileUp and checks whetherslowshaper crossed 70-80ns time window. If yes then no change and fCharge will be used. If no then charge will be calculated as per slowshaper behavior of XYTER

Definition at line 52 of file CbmMuchSignal.h.

◆ CbmMuchSignal() [3/4]

CbmMuchSignal::CbmMuchSignal ( CbmMuchSignal signal)
delete

◆ CbmMuchSignal() [4/4]

CbmMuchSignal::CbmMuchSignal ( const CbmMuchSignal rhs)

Definition at line 45 of file CbmMuchSignal.cxx.

◆ ~CbmMuchSignal()

virtual CbmMuchSignal::~CbmMuchSignal ( )
inlinevirtual

Destructor

Definition at line 79 of file CbmMuchSignal.h.

References fMatch.

Member Function Documentation

◆ AddNoise()

void CbmMuchSignal::AddNoise ( UInt_t  meanNoise)

Definition at line 131 of file CbmMuchSignal.cxx.

References fCharge.

Referenced by CbmMuchDigitizeGem::AddCharge(), and CbmMuchDigitizeGem::BufferSignals().

◆ ClassDef()

CbmMuchSignal::ClassDef ( CbmMuchSignal  ,
 
)
private

◆ GetAddress()

Int_t CbmMuchSignal::GetAddress ( ) const
inline

Definition at line 96 of file CbmMuchSignal.h.

References fAddress.

Referenced by CbmMuchDigitizeGem::ConvertSignalToDigi(), and CbmMuchReadoutBuffer::Merge().

◆ GetCharge() [1/2]

Int_t CbmMuchSignal::GetCharge ( )
inline

Definition at line 114 of file CbmMuchSignal.h.

References fCharge.

◆ GetCharge() [2/2]

UInt_t CbmMuchSignal::GetCharge ( ) const
inline

◆ GetMatch()

CbmMatch* CbmMuchSignal::GetMatch ( ) const
inline

◆ GetPileUpCount()

UInt_t CbmMuchSignal::GetPileUpCount ( ) const
inline

Definition at line 93 of file CbmMuchSignal.h.

References fPileUpCount.

Referenced by MergeSignal().

◆ GetTimeStamp()

Long64_t CbmMuchSignal::GetTimeStamp ( )
inline

Definition at line 115 of file CbmMuchSignal.h.

References fTimeStart.

Referenced by CbmMuchDigitizeGem::ConvertSignalToDigi().

◆ GetTimeStart()

Long_t CbmMuchSignal::GetTimeStart ( ) const
inline

Definition at line 86 of file CbmMuchSignal.h.

References fTimeStart.

Referenced by CbmMuchReadoutBuffer::Merge(), and MergeSignal().

◆ GetTimeStop()

Long64_t CbmMuchSignal::GetTimeStop ( ) const
inline

Definition at line 89 of file CbmMuchSignal.h.

References fTimeStop.

Referenced by CbmMuchReadoutBuffer::Merge(), and MergeSignal().

◆ MergeSignal()

void CbmMuchSignal::MergeSignal ( CbmMuchSignal signal)

◆ operator=()

CbmMuchSignal& CbmMuchSignal::operator= ( const CbmMuchSignal )
delete

◆ SetCharge()

void CbmMuchSignal::SetCharge ( UInt_t  charge)
inline

◆ SetMatch()

void CbmMuchSignal::SetMatch ( CbmMatch match)
inline

Definition at line 106 of file CbmMuchSignal.h.

References fMatch.

◆ SetTimeStart()

void CbmMuchSignal::SetTimeStart ( Long_t  starttime)
inline

Definition at line 99 of file CbmMuchSignal.h.

References fTimeStart.

Referenced by CbmMuchReadoutBuffer::Merge().

◆ SetTimeStop()

void CbmMuchSignal::SetTimeStop ( Long_t  stoptime)
inline

Definition at line 100 of file CbmMuchSignal.h.

References fTimeStop.

Referenced by CbmMuchReadoutBuffer::Merge().

Member Data Documentation

◆ fAddress

UInt_t CbmMuchSignal::fAddress
private

Definition at line 118 of file CbmMuchSignal.h.

Referenced by GetAddress().

◆ fCharge

UInt_t CbmMuchSignal::fCharge
private

Definition at line 122 of file CbmMuchSignal.h.

Referenced by AddNoise(), GetCharge(), MergeSignal(), and SetCharge().

◆ fMatch

CbmMatch* CbmMuchSignal::fMatch
private

Definition at line 127 of file CbmMuchSignal.h.

Referenced by GetMatch(), SetMatch(), and ~CbmMuchSignal().

◆ fPileUpCount

UInt_t CbmMuchSignal::fPileUpCount = 0
private

Definition at line 124 of file CbmMuchSignal.h.

Referenced by GetPileUpCount(), and MergeSignal().

◆ fTimeStart

Long64_t CbmMuchSignal::fTimeStart
private

Definition at line 119 of file CbmMuchSignal.h.

Referenced by GetTimeStamp(), GetTimeStart(), MergeSignal(), and SetTimeStart().

◆ fTimeStop

Long64_t CbmMuchSignal::fTimeStop
private

Definition at line 120 of file CbmMuchSignal.h.

Referenced by GetTimeStop(), MergeSignal(), and SetTimeStop().


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