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

#include <CbmMvdSensorFrameBuffer.h>

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

Public Member Functions

 CbmMvdSensorFrameBuffer ()
 
virtual ~CbmMvdSensorFrameBuffer ()
 
void SendInputArray (TClonesArray *inputStream)
 
void SetInput (TObject *point)
 
TClonesArray * GetOutputArray ()
 
virtual void ExecChain ()
 
virtual void InitBuffer (CbmMvdSensor *mySensor)
 
virtual void BuildTimeSlice (Double_t, Double_t)
 
virtual void BuildMimosaFrame (Int_t frameNumber)
 
virtual void Finish ()
 
virtual void ClearFrame (Int_t frameNumber)
 
virtual void ClearTimeSlice (Double_t tStart, Double_t tStop)
 
virtual void SendInputEvent (TClonesArray *)
 
virtual void Clear (Option_t *="")
 
MvdSensorPluginType GetPluginType ()
 
virtual Int_t GetPluginIDNumber ()
 
virtual void Init ()
 
virtual void Exec ()
 
virtual TClonesArray * GetInputArray ()
 
virtual TClonesArray * GetMatchArray ()
 
virtual TClonesArray * GetWriteArray ()
 
virtual TH1 * GetHistogram (UInt_t number)
 
virtual UInt_t GetMaxHistoNumber ()
 
virtual void SetInputArray (TClonesArray *)
 
virtual void SetOutputArray (TClonesArray *)
 
virtual void SetNextPlugin (CbmMvdSensorPlugin *plugin)
 
virtual void SetPreviousPlugin (CbmMvdSensorPlugin *plugin)
 
virtual CbmMvdSensorPluginGetNextPlugin ()
 
virtual CbmMvdSensorPluginGetPrevousPlugin ()
 
bool PluginReady ()
 
void SetPluginReady (bool flag)
 
void ShowDebugHistos ()
 
virtual const char * GetName () const
 
Bool_t IsInit ()
 

Public Attributes

CbmMvdSensorPluginfNextPlugin
 
CbmMvdSensorPluginfPreviousPlugin
 

Protected Member Functions

virtual void BufferReady ()
 

Protected Attributes

TClonesArray * fBuffer
 
CbmMvdSensorfSensor
 
bool bFlag
 
Bool_t initialized
 
Bool_t fShowDebugHistos
 
const char * fName
 
Int_t fPluginIDNumber
 
TObjArray * fHistoArray
 

Private Member Functions

 CbmMvdSensorFrameBuffer (const CbmMvdSensorFrameBuffer &)
 
CbmMvdSensorFrameBuffer operator= (const CbmMvdSensorFrameBuffer &)
 
 ClassDef (CbmMvdSensorFrameBuffer, 1)
 

Private Attributes

TClonesArray * fCurrentEvent
 
TClonesArray * fOutputPoints
 
Int_t lastFrame
 
Int_t thisFrame
 
CbmMvdSensorDataSheetfSensorData
 
Bool_t bOverflow
 
Double_t currentTime
 

Detailed Description

Definition at line 38 of file CbmMvdSensorFrameBuffer.h.

Constructor & Destructor Documentation

◆ CbmMvdSensorFrameBuffer() [1/2]

CbmMvdSensorFrameBuffer::CbmMvdSensorFrameBuffer ( )

Default constructor

Definition at line 21 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorPlugin::bFlag, and CbmMvdSensorBuffer::fBuffer.

◆ ~CbmMvdSensorFrameBuffer()

CbmMvdSensorFrameBuffer::~CbmMvdSensorFrameBuffer ( )
virtual

Destructor

Definition at line 37 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer.

◆ CbmMvdSensorFrameBuffer() [2/2]

CbmMvdSensorFrameBuffer::CbmMvdSensorFrameBuffer ( const CbmMvdSensorFrameBuffer & )
private

Member Function Documentation

◆ BufferReady()

virtual void CbmMvdSensorBuffer::BufferReady ( )
inlineprotectedvirtualinherited

Definition at line 92 of file CbmMvdSensorBuffer.h.

◆ BuildMimosaFrame()

void CbmMvdSensorFrameBuffer::BuildMimosaFrame ( Int_t frameNumber)
virtual

BuildMimosaFrame: Provides a TClonesArray containing all points related to a frame. Important notes:

  • Obviously: Works only if the sensor time is correctly set and if all points were previously loaded to the buffer by means of SendInputEvent().
  • The previously built event is cleared. As only a pointer on related TClonesArray is provided by the buffer (not a copy!), this clearing also affects the outside "non-copies" the previous event. Make sure you have processed the previous event or (if needed) perform a manual copy externally.
  • By building a new event, the objects in the local input buffer are not cleared. To avoid memory leaks, clear them manually with the "ClearFrame" methode.

Builds a new event in TClonesArray. Important notes:

  • The previously built event is cleared. As only a pointer on related TClonesArray is provided by the buffer (not a copy!), this clearing also affects the outside "non-copies" the previous event. Make sure you have processed the previous event or (if needed) perform a manual copy externally.
  • By building a new event, the objects in the local input buffer are not cleared. To avoid memory leaks, clear them manually with the "ClearFrame" methode.

Definition at line 118 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer, fCurrentEvent, CbmMvdSensorBuffer::fSensor, CbmMvdPoint::GetAbsTime(), CbmMvdSensor::GetFrameNumber(), CbmMvdPoint::SetFrameNr(), and CbmMvdSensor::TopToPixel().

Referenced by ExecChain().

◆ BuildTimeSlice()

virtual void CbmMvdSensorFrameBuffer::BuildTimeSlice ( Double_t ,
Double_t  )
inlinevirtual

Reimplemented from CbmMvdSensorBuffer.

Definition at line 68 of file CbmMvdSensorFrameBuffer.h.

References CbmMvdSensorPlugin::GetName().

◆ ClassDef()

CbmMvdSensorFrameBuffer::ClassDef ( CbmMvdSensorFrameBuffer ,
1  )
private

◆ Clear()

void CbmMvdSensorBuffer::Clear ( Option_t * = "")
virtualinherited

Memory Management Clear()

Clears the buffer completely. Important: Clears also the output buffer delivered by GetCurrentEvent() Make sure you don't need it.

Definition at line 31 of file CbmMvdSensorBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer, and CbmMvdSensorBuffer::fCurrentEvent.

◆ ClearFrame()

void CbmMvdSensorFrameBuffer::ClearFrame ( Int_t frameNumber)
virtual

Memory Management ClearFrame() Clears the objects related to a dedicated MAPS-frame from the buffer

Builds a new event in TClonesArray.

Removes objects related to a frame from the internal buffer

Definition at line 177 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer, CbmMvdSensorBuffer::fSensor, CbmMvdPoint::GetAbsTime(), CbmMvdSensor::GetFrameNumber(), and CbmMvdSensor::TopToPixel().

Referenced by ExecChain().

◆ ClearTimeSlice()

void CbmMvdSensorFrameBuffer::ClearTimeSlice ( Double_t tStart,
Double_t tStop )
virtual

ClearTimeSlice() Clears the objects related to a time periode from the buffer. Use ClearTimeSlice(0,t) to clear all objects earlier than t

Reimplemented from CbmMvdSensorBuffer.

Definition at line 217 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer.

◆ Exec()

◆ ExecChain()

◆ Finish()

virtual void CbmMvdSensorFrameBuffer::Finish ( )
inlinevirtual

Reimplemented from CbmMvdSensorBuffer.

Definition at line 91 of file CbmMvdSensorFrameBuffer.h.

◆ GetHistogram()

TH1 * CbmMvdSensorPlugin::GetHistogram ( UInt_t number)
virtualinherited

Definition at line 40 of file CbmMvdSensorPlugin.cxx.

References CbmMvdSensorPlugin::fHistoArray.

Referenced by CbmMvdSensor::GetHistogram().

◆ GetInputArray()

virtual TClonesArray * CbmMvdSensorPlugin::GetInputArray ( )
inlinevirtualinherited

Definition at line 56 of file CbmMvdSensorPlugin.h.

◆ GetMatchArray()

virtual TClonesArray * CbmMvdSensorPlugin::GetMatchArray ( )
inlinevirtualinherited

Reimplemented in CbmMvdSensorDigitizerTask, and CbmMvdSensorDigitizerTBTask.

Definition at line 58 of file CbmMvdSensorPlugin.h.

Referenced by CbmMvdSensor::GetMatchArray().

◆ GetMaxHistoNumber()

virtual UInt_t CbmMvdSensorPlugin::GetMaxHistoNumber ( )
inlinevirtualinherited

Definition at line 61 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fHistoArray.

◆ GetName()

◆ GetNextPlugin()

virtual CbmMvdSensorPlugin * CbmMvdSensorPlugin::GetNextPlugin ( )
inlinevirtualinherited

Definition at line 75 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fNextPlugin.

◆ GetOutputArray()

TClonesArray * CbmMvdSensorFrameBuffer::GetOutputArray ( )
inlinevirtual

Receives the current event from the buffer. The Event is defined by the functions BuildTimeSlice or BuildMimosaFrame. The memory is not emtied, use Clear*-methods to clear it explitly

Reimplemented from CbmMvdSensorBuffer.

Definition at line 57 of file CbmMvdSensorFrameBuffer.h.

References fOutputPoints, and CbmMvdSensorPlugin::SetPluginReady().

◆ GetPluginIDNumber()

virtual Int_t CbmMvdSensorPlugin::GetPluginIDNumber ( )
inlinevirtualinherited

Definition at line 50 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fPluginIDNumber.

Referenced by CbmMvdDetector::DetectPlugin().

◆ GetPluginType()

MvdSensorPluginType CbmMvdSensorBuffer::GetPluginType ( )
inlinevirtualinherited

Returns task type to a upper control unit

Implements CbmMvdSensorPlugin.

Definition at line 84 of file CbmMvdSensorBuffer.h.

References buffer.

◆ GetPrevousPlugin()

virtual CbmMvdSensorPlugin * CbmMvdSensorPlugin::GetPrevousPlugin ( )
inlinevirtualinherited

Definition at line 76 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fPreviousPlugin.

◆ GetWriteArray()

virtual TClonesArray * CbmMvdSensorPlugin::GetWriteArray ( )
inlinevirtualinherited

Reimplemented in CbmMvdSensorDigitizerTask, and CbmMvdSensorDigitizerTBTask.

Definition at line 59 of file CbmMvdSensorPlugin.h.

◆ Init()

virtual void CbmMvdSensorPlugin::Init ( )
inlinevirtualinherited

Definition at line 51 of file CbmMvdSensorPlugin.h.

◆ InitBuffer()

void CbmMvdSensorFrameBuffer::InitBuffer ( CbmMvdSensor * mySensor)
virtual

◆ IsInit()

Bool_t CbmMvdSensorPlugin::IsInit ( )
inlineinherited

Definition at line 82 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::initialized.

◆ operator=()

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

◆ PluginReady()

bool CbmMvdSensorPlugin::PluginReady ( )
inlineinherited

◆ SendInputArray()

void CbmMvdSensorFrameBuffer::SendInputArray ( TClonesArray * inputStream)

◆ SendInputEvent()

virtual void CbmMvdSensorBuffer::SendInputEvent ( TClonesArray * )
inlinevirtualinherited

Input/Output Send a new event to the buffer. The event will be absorbed but not processed. The input - array will be emptied

Definition at line 49 of file CbmMvdSensorBuffer.h.

◆ SetInput()

void CbmMvdSensorFrameBuffer::SetInput ( TObject * point)
virtual

Reimplemented from CbmMvdSensorPlugin.

Definition at line 111 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer.

◆ SetInputArray()

virtual void CbmMvdSensorPlugin::SetInputArray ( TClonesArray * )
inlinevirtualinherited

◆ SetNextPlugin()

virtual void CbmMvdSensorPlugin::SetNextPlugin ( CbmMvdSensorPlugin * plugin)
inlinevirtualinherited

Definition at line 72 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fNextPlugin.

Referenced by CbmMvdSensor::Init().

◆ SetOutputArray()

virtual void CbmMvdSensorPlugin::SetOutputArray ( TClonesArray * )
inlinevirtualinherited

Definition at line 70 of file CbmMvdSensorPlugin.h.

◆ SetPluginReady()

void CbmMvdSensorPlugin::SetPluginReady ( bool flag)
inlineinherited

◆ SetPreviousPlugin()

virtual void CbmMvdSensorPlugin::SetPreviousPlugin ( CbmMvdSensorPlugin * plugin)
inlinevirtualinherited

Definition at line 73 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fPreviousPlugin.

Referenced by CbmMvdSensor::Init().

◆ ShowDebugHistos()

void CbmMvdSensorPlugin::ShowDebugHistos ( )
inlineinherited

Definition at line 80 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fShowDebugHistos.

Referenced by CbmMvdSensor::ShowDebugHistos().

Member Data Documentation

◆ bFlag

◆ bOverflow

Bool_t CbmMvdSensorFrameBuffer::bOverflow
private

Definition at line 114 of file CbmMvdSensorFrameBuffer.h.

Referenced by InitBuffer().

◆ currentTime

Double_t CbmMvdSensorFrameBuffer::currentTime
private

Definition at line 115 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain().

◆ fBuffer

◆ fCurrentEvent

TClonesArray* CbmMvdSensorFrameBuffer::fCurrentEvent
private

Definition at line 109 of file CbmMvdSensorFrameBuffer.h.

Referenced by BuildMimosaFrame(), ExecChain(), and InitBuffer().

◆ fHistoArray

TObjArray* CbmMvdSensorPlugin::fHistoArray
protectedinherited

◆ fName

const char* CbmMvdSensorPlugin::fName
protectedinherited

Definition at line 92 of file CbmMvdSensorPlugin.h.

Referenced by CbmMvdSensorPlugin::GetName().

◆ fNextPlugin

CbmMvdSensorPlugin* CbmMvdSensorPlugin::fNextPlugin
inherited

data members

Definition at line 85 of file CbmMvdSensorPlugin.h.

Referenced by CbmMvdSensorPlugin::GetNextPlugin(), and CbmMvdSensorPlugin::SetNextPlugin().

◆ fOutputPoints

TClonesArray* CbmMvdSensorFrameBuffer::fOutputPoints
private

Definition at line 110 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain(), GetOutputArray(), and InitBuffer().

◆ fPluginIDNumber

◆ fPreviousPlugin

◆ fSensor

◆ fSensorData

CbmMvdSensorDataSheet* CbmMvdSensorFrameBuffer::fSensorData
private

Definition at line 113 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain(), and InitBuffer().

◆ fShowDebugHistos

◆ initialized

◆ lastFrame

Int_t CbmMvdSensorFrameBuffer::lastFrame
private

Definition at line 112 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain(), and InitBuffer().

◆ thisFrame

Int_t CbmMvdSensorFrameBuffer::thisFrame
private

Definition at line 112 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain().


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