#include <PndDiscWriteoutBuffer.h>
Definition at line 25 of file PndDiscWriteoutBuffer.h.
PndDiscWriteoutBuffer::PndDiscWriteoutBuffer |
( |
| ) |
|
Definition at line 20 of file PndDiscWriteoutBuffer.cxx.
21 : FairWriteoutBuffer()
24 buffer = (TBuffer*)gROOT->ProcessLine(
"new TBufferFile(TBuffer::kWrite,10000);");
25 if(!buffer)
throw std::runtime_error(std::string(
"WriteoutBuffer::AddNewDataToTClonesArray: cannot allocate buffer."));
PndDiscWriteoutBuffer::PndDiscWriteoutBuffer |
( |
TString |
branchName, |
|
|
TString |
folderName, |
|
|
Bool_t |
persistance |
|
) |
| |
Definition at line 30 of file PndDiscWriteoutBuffer.cxx.
31 : FairWriteoutBuffer(branchName,
"PndDiscDigitizedHit", folderName, persistance)
34 buffer = (TBuffer*)gROOT->ProcessLine(
"new TBufferFile(TBuffer::kWrite,10000);");
35 if(!buffer)
throw std::runtime_error(std::string(
"WriteoutBuffer::AddNewDataToTClonesArray: cannot allocate buffer."));
PndDiscWriteoutBuffer::~PndDiscWriteoutBuffer |
( |
| ) |
|
|
virtual |
void PndDiscWriteoutBuffer::AddNewDataToTClonesArray |
( |
FairTimeStamp * |
data | ) |
|
|
virtual |
Definition at line 66 of file PndDiscWriteoutBuffer.cxx.
References fVerbose.
68 FairRootManager* ioman = FairRootManager::Instance();
69 TClonesArray* myArray = ioman->GetTClonesArray(fBranchName);
77 TClass * class_meta = myArray->GetClass();
78 if( data->IsA() != class_meta ) {
81 throw std::runtime_error(std::string(
"WriteoutBuffer::AddNewDataToTClonesArray: wrong object type."));
85 TObject* new_instance = myArray->New(myArray->GetEntries());
90 buffer->SetWriteMode();
92 buffer->SetBufferOffset(0);
93 buffer->MapObject(data);
94 ((TObject*)data)->Streamer(*buffer);
97 buffer->SetReadMode();
99 buffer->SetBufferOffset(0);
100 buffer->MapObject(new_instance);
101 new_instance->Streamer(*buffer);
104 new_instance->ResetBit(kIsReferenced);
105 new_instance->ResetBit(kCanDelete);
void PndDiscWriteoutBuffer::EraseDataFromDataMap |
( |
FairTimeStamp * |
data | ) |
|
|
virtual |
void PndDiscWriteoutBuffer::FillDataMap |
( |
FairTimeStamp * |
data, |
|
|
double |
activeTime |
|
) |
| |
|
virtual |
double PndDiscWriteoutBuffer::FindTimeForData |
( |
FairTimeStamp * |
data | ) |
|
|
virtual |
Definition at line 113 of file PndDiscWriteoutBuffer.cxx.
References fData_map.
116 std::map<PndDiscDigitizedHit, double>::iterator it;
124 DataMap_t::iterator it =
fData_map.find(data);
std::map< PndDiscDigitizedHit, double > fData_map
std::vector< std::pair< double, FairTimeStamp * > > PndDiscWriteoutBuffer::Modify |
( |
std::pair< double, FairTimeStamp * > |
oldData, |
|
|
std::pair< double, FairTimeStamp * > |
newData |
|
) |
| |
|
virtual |
Definition at line 48 of file PndDiscWriteoutBuffer.cxx.
50 std::vector<std::pair<double, FairTimeStamp*> > result;
51 if( oldData.first >= newData.second->GetTimeStamp() ) {
52 result.push_back(oldData);
56 result.push_back(oldData);
57 result.push_back(newData);
The documentation for this class was generated from the following files: