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

#include <PndSdsDigiStripWriteoutBuffer.h>

Inheritance diagram for PndSdsDigiStripWriteoutBuffer:

Public Member Functions

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

Protected Member Functions

 ClassDef (PndSdsDigiStripWriteoutBuffer, 1)
 

Protected Attributes

std::map< PndSdsDigiStrip, double > fData_map
 

Detailed Description

Definition at line 14 of file PndSdsDigiStripWriteoutBuffer.h.

Constructor & Destructor Documentation

PndSdsDigiStripWriteoutBuffer::PndSdsDigiStripWriteoutBuffer ( )

Definition at line 19 of file PndSdsDigiStripWriteoutBuffer.cxx.

19  :FairWriteoutBuffer() , fData_map()
20 {
21  // TODO Auto-generated constructor stub
22 
23 }
std::map< PndSdsDigiStrip, double > fData_map
PndSdsDigiStripWriteoutBuffer::PndSdsDigiStripWriteoutBuffer ( TString  branchName,
TString  folderName,
Bool_t  persistance 
)

Definition at line 25 of file PndSdsDigiStripWriteoutBuffer.cxx.

25  : FairWriteoutBuffer(branchName, "PndSdsDigiStrip", folderName, persistance), fData_map()
26 
27 {
28 }
std::map< PndSdsDigiStrip, double > fData_map
PndSdsDigiStripWriteoutBuffer::~PndSdsDigiStripWriteoutBuffer ( )
virtual

Definition at line 30 of file PndSdsDigiStripWriteoutBuffer.cxx.

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

Member Function Documentation

void PndSdsDigiStripWriteoutBuffer::AddNewDataToTClonesArray ( FairTimeStamp *  data)

Definition at line 52 of file PndSdsDigiStripWriteoutBuffer.cxx.

References fVerbose.

53 {
54  FairRootManager* ioman = FairRootManager::Instance();
55  TClonesArray* myArray = ioman->GetTClonesArray(fBranchName);
56  if (fVerbose > 1) std::cout << "Data Inserted: " << *(PndSdsDigiStrip*)(data) << std::endl;
57  new ((*myArray)[myArray->GetEntries()]) PndSdsDigiStrip(*(PndSdsDigiStrip*)(data));
58 }
int fVerbose
Definition: poormantracks.C:24
Class for digitised strip hits.
PndSdsDigiStripWriteoutBuffer::ClassDef ( PndSdsDigiStripWriteoutBuffer  ,
 
)
protected
void PndSdsDigiStripWriteoutBuffer::EraseDataFromDataMap ( FairTimeStamp *  data)
virtual

Definition at line 83 of file PndSdsDigiStripWriteoutBuffer.cxx.

References fData_map.

84 {
85  PndSdsDigiStrip myData = *(PndSdsDigiStrip*)data;
86  if (fData_map.find(myData) != fData_map.end())
87  fData_map.erase(fData_map.find(myData));
88 }
Class for digitised strip hits.
std::map< PndSdsDigiStrip, double > fData_map
void PndSdsDigiStripWriteoutBuffer::FillDataMap ( FairTimeStamp *  data,
double  activeTime 
)
virtual

Definition at line 78 of file PndSdsDigiStripWriteoutBuffer.cxx.

References fData_map.

79 {
80  PndSdsDigiStrip myData = *(PndSdsDigiStrip*)data;
81  fData_map[myData] = activeTime;
82 }
Class for digitised strip hits.
std::map< PndSdsDigiStrip, double > fData_map
double PndSdsDigiStripWriteoutBuffer::FindTimeForData ( FairTimeStamp *  data)
virtual

Definition at line 60 of file PndSdsDigiStripWriteoutBuffer.cxx.

References fData_map, fVerbose, and PndSdsDigiStrip::Print().

61 {
62  std::map<PndSdsDigiStrip, double>::iterator it;
63  PndSdsDigiStrip myData = *(PndSdsDigiStrip*)data;
64  it = fData_map.find(myData);
65  PndSdsDigiStrip dataInMap;
66  if (it == fData_map.end())
67  return -1;
68  else {
69  if (fVerbose > 1) {
70  std::cout << "Search: " << myData << " Found: ";
71  dataInMap = it->first;
72  dataInMap.Print();
73  std::cout << " Time: " << it->second << std::endl;
74  }
75  return it->second;
76  }
77 }
std::ostream & Print(std::ostream &out=std::cout) const
int fVerbose
Definition: poormantracks.C:24
Class for digitised strip hits.
std::map< PndSdsDigiStrip, double > fData_map
std::vector< std::pair< double, FairTimeStamp * > > PndSdsDigiStripWriteoutBuffer::Modify ( std::pair< double, FairTimeStamp * >  oldData,
std::pair< double, FairTimeStamp * >  newData 
)
virtual

Definition at line 34 of file PndSdsDigiStripWriteoutBuffer.cxx.

References fVerbose.

35 {
36  std::vector<std::pair<double, FairTimeStamp*> > result;
37  std::pair<double, FairTimeStamp*> singleResult;
38  if (newData.first > 0)
39  singleResult.first = oldData.first + newData.first;
40  singleResult.second = oldData.second;
41  ((PndSdsDigiStrip*)singleResult.second)->AddCharge(((PndSdsDigiStrip*)newData.second)->GetCharge());
42  if (fVerbose > 0) {
43  std::cout << "Modify hit" << std::endl;
44 
45  std::cout << "OldData: " << oldData.first << " : " << oldData.second << " NewData: " << newData.first << " : " << newData.second << std::endl;
46  std::cout << "Resulting Data: " << singleResult.first << " : " << singleResult.second << std::endl;
47  }
48  result.push_back(singleResult);
49  return result;
50 }
int fVerbose
Definition: poormantracks.C:24
Class for digitised strip hits.

Member Data Documentation

std::map<PndSdsDigiStrip, double> PndSdsDigiStripWriteoutBuffer::fData_map
protected

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