CbmRoot
Loading...
Searching...
No Matches
CbmMvdSensorFrameBuffer.h
Go to the documentation of this file.
1/* Copyright (C) 2014-2016 Institut fuer Kernphysik, Goethe-Universitaet Frankfurt, Frankfurt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Michael Deveaux, Philipp Sitzmann [committer] */
4
5// ------------------------------------------------------------------------
6// ----- CbmMvdSensorFrameBuffer header file -----
7// ----- Created 02/02/12 by M. Deveaux -----
8// ------------------------------------------------------------------------
9
20#ifndef CBMMVDSENSORFRAMEBUFFER_H
21#define CBMMVDSENSORFRAMEBUFFER_H 1
22
23#include "CbmMvdSensorBuffer.h" // for CbmMvdSensorBuffer
24
25#include <Logger.h> // for LOG
26
27#include <Rtypes.h> // for ClassDef
28#include <RtypesCore.h> // for Double_t, Int_t, Bool_t
29
30class CbmMvdPoint;
31class CbmMvdSensor;
32class CbmMvdSensorDataSheet; // lines 32-32
33class TBuffer;
34class TClass;
35class TClonesArray; // lines 31-31
36class TMemberInspector;
37
39
40public:
43
46
49 // Send a new event to the buffer. The event will be absorbed but not processed.
50 // The input - array will be emptied
51 void SendInputArray(TClonesArray* inputStream);
52 void SetInput(TObject* point);
53
54 // Receives the current event from the buffer. The Event is defined by the functions
55 // BuildTimeSlice or BuildMimosaFrame. The memory is not emtied, use Clear*-methods
56 // to clear it explitly
57 TClonesArray* GetOutputArray()
58 {
59 SetPluginReady(false);
60 return fOutputPoints;
61 };
62
63
66 virtual void ExecChain();
67 virtual void InitBuffer(CbmMvdSensor* mySensor);
68 virtual void BuildTimeSlice(Double_t /*tStart*/, Double_t /*tStop*/)
69 {
70 LOG(fatal) << "Do not use " << GetName() << "::BuildTimeSlice()";
71 };
72
89 virtual void BuildMimosaFrame(Int_t frameNumber);
90
91 virtual void Finish() { ; };
92
93
95 //==============================================================
99 virtual void ClearFrame(Int_t frameNumber);
100
106 virtual void ClearTimeSlice(Double_t tStart, Double_t tStop);
107
108private:
109 TClonesArray* fCurrentEvent;
110 TClonesArray* fOutputPoints;
111
114 Bool_t bOverflow;
115 Double_t currentTime;
116
119
121};
122
123
124#endif
virtual void BuildTimeSlice(Double_t, Double_t)
void SendInputArray(TClonesArray *inputStream)
CbmMvdSensorFrameBuffer(const CbmMvdSensorFrameBuffer &)
ClassDef(CbmMvdSensorFrameBuffer, 1)
CbmMvdSensorFrameBuffer operator=(const CbmMvdSensorFrameBuffer &)
virtual void ClearFrame(Int_t frameNumber)
virtual void ClearTimeSlice(Double_t tStart, Double_t tStop)
CbmMvdSensorDataSheet * fSensorData
virtual void InitBuffer(CbmMvdSensor *mySensor)
virtual void BuildMimosaFrame(Int_t frameNumber)
virtual const char * GetName() const
void SetPluginReady(bool flag)