CbmRoot
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 (CbmMvdPoint *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 void Init ()
 
virtual void Exec ()
 
virtual TClonesArray * GetInputArray ()
 
virtual TClonesArray * GetMatchArray ()
 
virtual TClonesArray * GetWriteArray ()
 
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
 

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 29 of file CbmMvdSensorFrameBuffer.h.

Constructor & Destructor Documentation

◆ CbmMvdSensorFrameBuffer() [1/2]

CbmMvdSensorFrameBuffer::CbmMvdSensorFrameBuffer ( )

Default constructor

Definition at line 13 of file CbmMvdSensorFrameBuffer.cxx.

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

◆ ~CbmMvdSensorFrameBuffer()

CbmMvdSensorFrameBuffer::~CbmMvdSensorFrameBuffer ( )
virtual

Destructor

Definition at line 28 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 86 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 107 of file CbmMvdSensorFrameBuffer.cxx.

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

Referenced by ExecChain().

◆ BuildTimeSlice()

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

Reimplemented from CbmMvdSensorBuffer.

Definition at line 58 of file CbmMvdSensorFrameBuffer.h.

References CbmMvdSensorPlugin::GetName().

◆ ClassDef()

CbmMvdSensorFrameBuffer::ClassDef ( CbmMvdSensorFrameBuffer  ,
 
)
private

◆ Clear()

void CbmMvdSensorBuffer::Clear ( Option_t *  opt = "")
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 23 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 167 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer, CbmMvdSensorBuffer::fSensor, CbmMvdPoint::GetAbsTime(), CbmMvdSensor::GetFrameNumber(), i, 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 207 of file CbmMvdSensorFrameBuffer.cxx.

References CbmMvdSensorBuffer::fBuffer, and i.

◆ Exec()

◆ ExecChain()

◆ Finish()

virtual void CbmMvdSensorFrameBuffer::Finish ( )
inlinevirtual

Reimplemented from CbmMvdSensorBuffer.

Definition at line 81 of file CbmMvdSensorFrameBuffer.h.

◆ GetInputArray()

virtual TClonesArray* CbmMvdSensorPlugin::GetInputArray ( )
inlinevirtualinherited

Definition at line 40 of file CbmMvdSensorPlugin.h.

◆ GetMatchArray()

virtual TClonesArray* CbmMvdSensorPlugin::GetMatchArray ( )
inlinevirtualinherited

Reimplemented in CbmMvdSensorDigitizerTask, and CbmMvdSensorDigitizerTBTask.

Definition at line 42 of file CbmMvdSensorPlugin.h.

◆ GetName()

◆ GetNextPlugin()

virtual CbmMvdSensorPlugin* CbmMvdSensorPlugin::GetNextPlugin ( )
inlinevirtualinherited

Definition at line 56 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 48 of file CbmMvdSensorFrameBuffer.h.

References fOutputPoints, and CbmMvdSensorPlugin::SetPluginReady().

◆ GetPluginType()

MvdSensorPluginType CbmMvdSensorBuffer::GetPluginType ( )
inlinevirtualinherited

Returns task type to a upper control unit

Implements CbmMvdSensorPlugin.

Definition at line 78 of file CbmMvdSensorBuffer.h.

References buffer.

◆ GetPrevousPlugin()

virtual CbmMvdSensorPlugin* CbmMvdSensorPlugin::GetPrevousPlugin ( )
inlinevirtualinherited

Definition at line 57 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fPreviousPlugin.

◆ GetWriteArray()

virtual TClonesArray* CbmMvdSensorPlugin::GetWriteArray ( )
inlinevirtualinherited

Reimplemented in CbmMvdSensorDigitizerTask, and CbmMvdSensorDigitizerTBTask.

Definition at line 43 of file CbmMvdSensorPlugin.h.

◆ Init()

virtual void CbmMvdSensorPlugin::Init ( )
inlinevirtualinherited

Definition at line 35 of file CbmMvdSensorPlugin.h.

◆ InitBuffer()

◆ IsInit()

Bool_t CbmMvdSensorPlugin::IsInit ( )
inlineinherited

Definition at line 63 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 43 of file CbmMvdSensorBuffer.h.

◆ SetInput()

void CbmMvdSensorFrameBuffer::SetInput ( CbmMvdPoint point)
virtual

Reimplemented from CbmMvdSensorPlugin.

Definition at line 100 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 49 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fNextPlugin.

Referenced by CbmMvdSensor::Init().

◆ SetOutputArray()

virtual void CbmMvdSensorPlugin::SetOutputArray ( TClonesArray *  )
inlinevirtualinherited

Definition at line 47 of file CbmMvdSensorPlugin.h.

◆ SetPluginReady()

void CbmMvdSensorPlugin::SetPluginReady ( bool  flag)
inlineinherited

◆ SetPreviousPlugin()

virtual void CbmMvdSensorPlugin::SetPreviousPlugin ( CbmMvdSensorPlugin plugin)
inlinevirtualinherited

Definition at line 52 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fPreviousPlugin.

Referenced by CbmMvdSensor::Init().

◆ ShowDebugHistos()

void CbmMvdSensorPlugin::ShowDebugHistos ( )
inlineinherited

Definition at line 61 of file CbmMvdSensorPlugin.h.

References CbmMvdSensorPlugin::fShowDebugHistos.

Referenced by CbmMvdSensor::ShowDebugHistos().

Member Data Documentation

◆ bFlag

◆ bOverflow

Bool_t CbmMvdSensorFrameBuffer::bOverflow
private

Definition at line 104 of file CbmMvdSensorFrameBuffer.h.

Referenced by InitBuffer().

◆ currentTime

Double_t CbmMvdSensorFrameBuffer::currentTime
private

Definition at line 105 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain().

◆ fBuffer

◆ fCurrentEvent

TClonesArray* CbmMvdSensorFrameBuffer::fCurrentEvent
private

Definition at line 99 of file CbmMvdSensorFrameBuffer.h.

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

◆ fName

const char* CbmMvdSensorPlugin::fName
protectedinherited

Definition at line 73 of file CbmMvdSensorPlugin.h.

Referenced by CbmMvdSensorPlugin::GetName().

◆ fNextPlugin

CbmMvdSensorPlugin* CbmMvdSensorPlugin::fNextPlugin
inherited

data members

Definition at line 66 of file CbmMvdSensorPlugin.h.

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

◆ fOutputPoints

TClonesArray* CbmMvdSensorFrameBuffer::fOutputPoints
private

Definition at line 100 of file CbmMvdSensorFrameBuffer.h.

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

◆ fPreviousPlugin

◆ fSensor

◆ fSensorData

CbmMvdSensorDataSheet* CbmMvdSensorFrameBuffer::fSensorData
private

Definition at line 103 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain(), and InitBuffer().

◆ fShowDebugHistos

◆ initialized

◆ lastFrame

Int_t CbmMvdSensorFrameBuffer::lastFrame
private

Definition at line 102 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain(), and InitBuffer().

◆ thisFrame

Int_t CbmMvdSensorFrameBuffer::thisFrame
private

Definition at line 102 of file CbmMvdSensorFrameBuffer.h.

Referenced by ExecChain().


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