FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndDrcDigiWriteoutBuffer Class Reference

#include <PndDrcDigiWriteoutBuffer.h>

Inheritance diagram for PndDrcDigiWriteoutBuffer:

Public Member Functions

 PndDrcDigiWriteoutBuffer ()
 
 PndDrcDigiWriteoutBuffer (TString branchName, TString folderName, Bool_t persistance)
 
virtual ~PndDrcDigiWriteoutBuffer ()
 
void AddNewDataToTClonesArray (FairTimeStamp *)
 
virtual double FindTimeForData (FairTimeStamp *data)
 
virtual void FillDataMap (FairTimeStamp *data, double activeTime)
 
virtual void EraseDataFromDataMap (FairTimeStamp *data)
 
virtual std::vector< std::pair
< double, FairTimeStamp * > > 
Modify (std::pair< double, FairTimeStamp * > oldData, std::pair< double, FairTimeStamp * > newData)
 
virtual Int_t GetNData ()
 

Protected Member Functions

 ClassDef (PndDrcDigiWriteoutBuffer, 1)
 

Protected Attributes

std::map< PndDrcDigi, double > fData_map
 

Detailed Description

Definition at line 19 of file PndDrcDigiWriteoutBuffer.h.

Constructor & Destructor Documentation

PndDrcDigiWriteoutBuffer::PndDrcDigiWriteoutBuffer ( )

Definition at line 19 of file PndDrcDigiWriteoutBuffer.cxx.

19  :FairWriteoutBuffer() {
20 
21  // TODO Auto-generated constructor stub
22 
23 }
PndDrcDigiWriteoutBuffer::PndDrcDigiWriteoutBuffer ( TString  branchName,
TString  folderName,
Bool_t  persistance 
)

Definition at line 26 of file PndDrcDigiWriteoutBuffer.cxx.

26  : FairWriteoutBuffer(branchName, "PndDrcDigi", folderName, persistance)
27 {
28 }
PndDrcDigiWriteoutBuffer::~PndDrcDigiWriteoutBuffer ( )
virtual

Definition at line 30 of file PndDrcDigiWriteoutBuffer.cxx.

30  {
31  // TODO Auto-generated destructor stub
32 }

Member Function Documentation

void PndDrcDigiWriteoutBuffer::AddNewDataToTClonesArray ( FairTimeStamp *  data)

Definition at line 34 of file PndDrcDigiWriteoutBuffer.cxx.

References fVerbose.

35 {
36  FairRootManager* ioman = FairRootManager::Instance();
37  TClonesArray* myArray = ioman->GetTClonesArray(fBranchName);
38  if (fVerbose > 1){
39  std::cout << "Data Inserted: " << *(PndDrcDigi*)(data) << std::endl;
40  }
41  new ((*myArray)[myArray->GetEntries()]) PndDrcDigi(*(PndDrcDigi*)(data));
42 }
int fVerbose
Definition: poormantracks.C:24
PndDrcDigiWriteoutBuffer::ClassDef ( PndDrcDigiWriteoutBuffer  ,
 
)
protected
void PndDrcDigiWriteoutBuffer::EraseDataFromDataMap ( FairTimeStamp *  data)
virtual

Definition at line 61 of file PndDrcDigiWriteoutBuffer.cxx.

References fData_map.

62 {
63  PndDrcDigi myData = *(PndDrcDigi*)data;
64  if (fData_map.find(myData) != fData_map.end()){
65  fData_map.erase(fData_map.find(myData));
66  }
67 }
std::map< PndDrcDigi, double > fData_map
void PndDrcDigiWriteoutBuffer::FillDataMap ( FairTimeStamp *  data,
double  activeTime 
)
virtual

Definition at line 55 of file PndDrcDigiWriteoutBuffer.cxx.

References fData_map.

56 {
57  PndDrcDigi myData = *(PndDrcDigi*)data;
58  fData_map[myData] = activeTime;
59 }
std::map< PndDrcDigi, double > fData_map
double PndDrcDigiWriteoutBuffer::FindTimeForData ( FairTimeStamp *  data)
virtual

Definition at line 44 of file PndDrcDigiWriteoutBuffer.cxx.

References fData_map.

45 {
46  std::map<PndDrcDigi, double>::iterator it;
47  PndDrcDigi myData = *(PndDrcDigi*)data;
48  it = fData_map.find(myData);
49  if (it == fData_map.end())
50  return -1;
51  else
52  return it->second;
53 }
std::map< PndDrcDigi, double > fData_map
virtual Int_t PndDrcDigiWriteoutBuffer::GetNData ( )
inlinevirtual

Definition at line 34 of file PndDrcDigiWriteoutBuffer.h.

34 {return fStartTime_map.size();}
std::vector< std::pair< double, FairTimeStamp * > > PndDrcDigiWriteoutBuffer::Modify ( std::pair< double, FairTimeStamp * >  oldData,
std::pair< double, FairTimeStamp * >  newData 
)
virtual

Definition at line 69 of file PndDrcDigiWriteoutBuffer.cxx.

References Double_t, and fVerbose.

69  {
70  std::vector<std::pair<double, FairTimeStamp*> > result;
71 
72  Double_t oldStamp = ((PndDrcDigi*)oldData.second)->GetTimeStamp();
73  Double_t newStamp = ((PndDrcDigi*)newData.second)->GetTimeStamp();
74  Double_t deadTime = oldData.first -oldStamp;
75  if(newStamp-oldStamp>deadTime-0.0000001) result.push_back(newData);
76  else oldData.first = newStamp+deadTime;
77 
78  result.push_back(oldData);
79 
80  // std::pair<double, FairTimeStamp*> Result1;
81  // if (newData.first > 0) Result1.first = oldData.first + (newData.first - oldData.first);
82  // Result1.second = oldData.second;
83  // result.push_back(oldData);
84 
85  if (fVerbose > 0){
86  std::cout << "Modify hit" << std::endl;
87  std::cout << "OldData: " << oldData.first << " : " << ((PndDrcDigi*)oldData.second)->GetTimeStamp() <<"("<<((PndDrcDigi*)oldData.second)->GetSensorId() <<")"<< " NewData: " << newData.first << " : " << newData.second <<" "<< ((PndDrcDigi*)newData.second)->GetTimeStamp() <<"("<<((PndDrcDigi*)newData.second)->GetSensorId() <<")"<< std::endl;
88  //std::cout << "Resulting Data: " << Result1.first << " : " << Result1.second << std::endl;
89  }
90 
91  return result;
92 }
int fVerbose
Definition: poormantracks.C:24
Double_t

Member Data Documentation

std::map<PndDrcDigi, double> PndDrcDigiWriteoutBuffer::fData_map
protected

Definition at line 38 of file PndDrcDigiWriteoutBuffer.h.

Referenced by EraseDataFromDataMap(), FillDataMap(), and FindTimeForData().


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