FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndMdtWaveformWriteoutBuffer Class Reference

#include <PndMdtWaveformWriteoutBuffer.h>

Inheritance diagram for PndMdtWaveformWriteoutBuffer:

Public Member Functions

 PndMdtWaveformWriteoutBuffer ()
 
 PndMdtWaveformWriteoutBuffer (TString branchName, TString folderName, Bool_t persistance)
 
virtual ~PndMdtWaveformWriteoutBuffer ()
 

Private Member Functions

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)
 
 ClassDef (PndMdtWaveformWriteoutBuffer, 1)
 

Private Attributes

std::map< PndMdtWaveform
*, double, PndMdtWaveformLess
fData_map
 

Detailed Description

Definition at line 22 of file PndMdtWaveformWriteoutBuffer.h.

Constructor & Destructor Documentation

PndMdtWaveformWriteoutBuffer::PndMdtWaveformWriteoutBuffer ( )

Definition at line 11 of file PndMdtWaveformWriteoutBuffer.cxx.

References fVerbose.

11  :FairWriteoutBuffer() {
12  fVerbose = 0;
13 }
int fVerbose
Definition: poormantracks.C:24
PndMdtWaveformWriteoutBuffer::PndMdtWaveformWriteoutBuffer ( TString  branchName,
TString  folderName,
Bool_t  persistance 
)

Definition at line 16 of file PndMdtWaveformWriteoutBuffer.cxx.

References fVerbose.

16  :
17  FairWriteoutBuffer(branchName, "PndMdtWaveform", folderName, persistance)
18 {
19  fVerbose = 0;
20 }
int fVerbose
Definition: poormantracks.C:24
PndMdtWaveformWriteoutBuffer::~PndMdtWaveformWriteoutBuffer ( )
virtual

Definition at line 22 of file PndMdtWaveformWriteoutBuffer.cxx.

22  {
23 }

Member Function Documentation

void PndMdtWaveformWriteoutBuffer::AddNewDataToTClonesArray ( FairTimeStamp *  data)
private

Definition at line 24 of file PndMdtWaveformWriteoutBuffer.cxx.

References fVerbose.

25 {
26  FairRootManager* ioman = FairRootManager::Instance();
27  TClonesArray* myArray = ioman->GetTClonesArray(fBranchName);
28  if (fVerbose > 1) std::cout << "PndMdtWaveformWriteoutBuffer:: "<<fBranchName << *(PndMdtWaveform*)(data) << std::endl;
29  //((*myArray)[myArray->GetEntries()]) = data; //data->Clone();
30  new ((*myArray)[myArray->GetEntries()]) PndMdtWaveform(*(PndMdtWaveform*)(data));
31 }
int fVerbose
Definition: poormantracks.C:24
PndMdtWaveformWriteoutBuffer::ClassDef ( PndMdtWaveformWriteoutBuffer  ,
 
)
private
void PndMdtWaveformWriteoutBuffer::EraseDataFromDataMap ( FairTimeStamp *  data)
privatevirtual

Definition at line 47 of file PndMdtWaveformWriteoutBuffer.cxx.

References fData_map.

48 {
49  PndMdtWaveform* myData = ((PndMdtWaveform*)data) ;
50  std::map<PndMdtWaveform*, double>::iterator it = fData_map.find(myData);
51  if ( it != fData_map.end()){
52  fData_map.erase(it);
53  }
54 }
std::map< PndMdtWaveform *, double, PndMdtWaveformLess > fData_map
void PndMdtWaveformWriteoutBuffer::FillDataMap ( FairTimeStamp *  data,
double  activeTime 
)
privatevirtual

Definition at line 42 of file PndMdtWaveformWriteoutBuffer.cxx.

References fData_map.

43 {
44  PndMdtWaveform* myData = ((PndMdtWaveform*)data);
45  fData_map.insert(std::pair<PndMdtWaveform*,double>(myData, activeTime));
46 }
std::map< PndMdtWaveform *, double, PndMdtWaveformLess > fData_map
double PndMdtWaveformWriteoutBuffer::FindTimeForData ( FairTimeStamp *  data)
privatevirtual

Definition at line 33 of file PndMdtWaveformWriteoutBuffer.cxx.

References fData_map.

34 {
35  PndMdtWaveform* myData = ((PndMdtWaveform*)data);
36  std::map<PndMdtWaveform*, double>::iterator it = fData_map.find(myData);
37  if (it == fData_map.end())
38  return -1;
39  else
40  return it->second;
41 }
std::map< PndMdtWaveform *, double, PndMdtWaveformLess > fData_map
std::vector< std::pair< double, FairTimeStamp * > > PndMdtWaveformWriteoutBuffer::Modify ( std::pair< double, FairTimeStamp * >  oldData,
std::pair< double, FairTimeStamp * >  newData 
)
privatevirtual

Definition at line 55 of file PndMdtWaveformWriteoutBuffer.cxx.

References fVerbose, and PndMdtWaveform::GetActiveTime().

57 {
58 
59  std::vector<std::pair<double, FairTimeStamp*> > result;
60  std::pair<double, FairTimeStamp*> singleResult;
61 
62  if (fVerbose > 2){
63  std::cout << "PndMdtWaveformWriteoutBuffer::Modify:: OldData: " << oldData.first << " : " << oldData.second
64  << " NewData: " << newData.first << " : " << newData.second << std::endl;
65  std::cout << "<OldData>=============================================>"<<std::endl;
66  oldData.second->Print();
67  std::cout << "<============================================</OldData>"<<std::endl;
68  std::cout << "<NewData>=============================================>"<<std::endl;
69  newData.second->Print();
70  std::cout << "<============================================</NewData>"<<std::endl;
71  }
72  PndMdtWaveform* oldWave = (PndMdtWaveform*)oldData.second;
73  PndMdtWaveform* newWave = (PndMdtWaveform*)newData.second;
74  (*oldWave) += (*newWave);
75 
76  singleResult.second = oldWave;
77  singleResult.first = oldWave->GetActiveTime();
78 
79  if (fVerbose > 2){
80  std::cout << "<ResultData>=============================================>"<<std::endl;
81  std::cout << "Resulting Data: " << singleResult.first << " : " << singleResult.second << std::endl;
82  singleResult.second->Print();
83  std::cout << "<============================================</ResultData>"<<std::endl;
84  }
85 
86  result.push_back(singleResult);
87  return result;
88 }
int fVerbose
Definition: poormantracks.C:24
Double_t GetActiveTime() const

Member Data Documentation

std::map<PndMdtWaveform*, double, PndMdtWaveformLess > PndMdtWaveformWriteoutBuffer::fData_map
private

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