EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairRingSorter Class Referenceabstract

#include <EicRoot/blob/master/base/FairRingSorter.h>

+ Inheritance diagram for FairRingSorter:
+ Collaboration diagram for FairRingSorter:

Public Member Functions

 FairRingSorter (int size=100, double width=10)
 
virtual ~FairRingSorter ()
 
virtual FairTimeStampCreateElement (FairTimeStamp *data)=0
 
virtual void AddElement (FairTimeStamp *digi, double timestamp)
 
virtual void WriteOutElements (int index)
 writes out the entries from LowerBoundPointer up to index
 
virtual void WriteOutElement (int index)
 writes out the entry at the index and clears it
 
virtual void WriteOutAll ()
 
virtual double GetBufferSize ()
 
virtual std::vector
< FairTimeStamp * > 
GetOutputData ()
 
virtual void DeleteOutputData ()
 
virtual void SetLowerBound (double timestampOfHitToWrite)
 
virtual void Print (std::ostream &out=std::cout)
 

Private Member Functions

int CalcIndex (double val)
 

Private Attributes

std::vector< std::multimap
< double, FairTimeStamp * > > 
fRingBuffer
 
std::vector< FairTimeStamp * > fOutputData
 
std::pair< int, double > fLowerBoundPointer
 
double fCellWidth
 
int fVerbose
 

Detailed Description

Definition at line 20 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 20 of file FairRingSorter.h

Constructor & Destructor Documentation

FairRingSorter::FairRingSorter ( int  size = 100,
double  width = 10 
)
inline

Definition at line 23 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 23 of file FairRingSorter.h

virtual FairRingSorter::~FairRingSorter ( )
inlinevirtual

Definition at line 28 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 28 of file FairRingSorter.h

Member Function Documentation

void FairRingSorter::AddElement ( FairTimeStamp digi,
double  timestamp 
)
virtual

Definition at line 11 of file FairRingSorter.cxx.

View newest version in sPHENIX GitHub at line 11 of file FairRingSorter.cxx

References CalcIndex(), CreateElement(), fLowerBoundPointer, fRingBuffer, fVerbose, GetBufferSize(), FairTimeStamp::Print(), SetLowerBound(), WriteOutAll(), and WriteOutElements().

Referenced by FairRingSorterTask::Exec(), and FairRingSorterTask::FinishTask().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int FairRingSorter::CalcIndex ( double  val)
private

Definition at line 91 of file FairRingSorter.cxx.

View newest version in sPHENIX GitHub at line 91 of file FairRingSorter.cxx

References fCellWidth, and fRingBuffer.

Referenced by AddElement(), and SetLowerBound().

+ Here is the caller graph for this function:

virtual FairTimeStamp* FairRingSorter::CreateElement ( FairTimeStamp data)
pure virtual

Referenced by AddElement().

+ Here is the caller graph for this function:

virtual void FairRingSorter::DeleteOutputData ( )
inlinevirtual

Definition at line 43 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 43 of file FairRingSorter.h

References fOutputData.

Referenced by FairRingSorterTask::Exec(), and FairRingSorterTask::FinishTask().

+ Here is the caller graph for this function:

virtual double FairRingSorter::GetBufferSize ( )
inlinevirtual

Definition at line 38 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 38 of file FairRingSorter.h

References fCellWidth, and fRingBuffer.

Referenced by AddElement(), and SetLowerBound().

+ Here is the caller graph for this function:

virtual std::vector<FairTimeStamp*> FairRingSorter::GetOutputData ( )
inlinevirtual

Definition at line 39 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 39 of file FairRingSorter.h

References fOutputData.

Referenced by FairRingSorterTask::Exec(), and FairRingSorterTask::FinishTask().

+ Here is the caller graph for this function:

virtual void FairRingSorter::Print ( std::ostream &  out = std::cout)
inlinevirtual

Definition at line 46 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 46 of file FairRingSorter.h

References fCellWidth, fLowerBoundPointer, and fRingBuffer.

Referenced by FairRingSorterTask::Exec(), and FairRingSorterTask::FinishTask().

+ Here is the caller graph for this function:

void FairRingSorter::SetLowerBound ( double  timestampOfHitToWrite)
virtual

Definition at line 40 of file FairRingSorter.cxx.

View newest version in sPHENIX GitHub at line 40 of file FairRingSorter.cxx

References CalcIndex(), fCellWidth, fLowerBoundPointer, fVerbose, and GetBufferSize().

Referenced by AddElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void FairRingSorter::WriteOutAll ( )
inlinevirtual

Definition at line 35 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 35 of file FairRingSorter.h

References fLowerBoundPointer, and WriteOutElements().

Referenced by AddElement(), and FairRingSorterTask::FinishTask().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void FairRingSorter::WriteOutElement ( int  index)
virtual

writes out the entry at the index and clears it

Definition at line 75 of file FairRingSorter.cxx.

View newest version in sPHENIX GitHub at line 75 of file FairRingSorter.cxx

References fOutputData, fRingBuffer, fVerbose, and it.

Referenced by WriteOutElements().

+ Here is the caller graph for this function:

void FairRingSorter::WriteOutElements ( int  index)
virtual

writes out the entries from LowerBoundPointer up to index

Definition at line 51 of file FairRingSorter.cxx.

View newest version in sPHENIX GitHub at line 51 of file FairRingSorter.cxx

References fLowerBoundPointer, fOutputData, fRingBuffer, fVerbose, and WriteOutElement().

Referenced by AddElement(), and WriteOutAll().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

double FairRingSorter::fCellWidth
private

Definition at line 62 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 62 of file FairRingSorter.h

Referenced by CalcIndex(), GetBufferSize(), Print(), and SetLowerBound().

std::pair<int, double> FairRingSorter::fLowerBoundPointer
private

Definition at line 61 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 61 of file FairRingSorter.h

Referenced by AddElement(), Print(), SetLowerBound(), WriteOutAll(), and WriteOutElements().

std::vector<FairTimeStamp*> FairRingSorter::fOutputData
private

Definition at line 60 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 60 of file FairRingSorter.h

Referenced by DeleteOutputData(), GetOutputData(), WriteOutElement(), and WriteOutElements().

std::vector<std::multimap<double, FairTimeStamp*> > FairRingSorter::fRingBuffer
private

Definition at line 59 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 59 of file FairRingSorter.h

Referenced by AddElement(), CalcIndex(), GetBufferSize(), Print(), WriteOutElement(), and WriteOutElements().

int FairRingSorter::fVerbose
private

Definition at line 63 of file FairRingSorter.h.

View newest version in sPHENIX GitHub at line 63 of file FairRingSorter.h

Referenced by AddElement(), SetLowerBound(), WriteOutElement(), and WriteOutElements().


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