R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3B::UcesbSource Class Reference

#include <R3BUcesbSource2.h>

Public Member Functions

 UcesbSource ()
 
 UcesbSource (std::string_view lmdfile_name, std::string_view ntuple_options, std::string_view ucesb_path, EventStructType *event_struct, size_t event_struct_size)
 
 ~UcesbSource () override
 
 UcesbSource (const UcesbSource &)=delete
 
 UcesbSource (UcesbSource &&)=delete
 
UcesbSourceoperator= (const UcesbSource &)=delete
 
UcesbSourceoperator= (UcesbSource &&)=delete
 
void SetMaxEvents (int max_event_num)
 
void SetLMDFileName (std::string_view lmdfile_name)
 
void SetNTupleOptions (std::string_view ntuple_options)
 
void SetUcesbPath (std::string_view ucesb_path)
 
void SetEventStructSize (size_t event_size)
 
void SetInfiniteRun (bool is_infinite=true)
 
void SetEventStruct (EventStructType *event_struct)
 
void SetRawDataPrint (bool print_raw_data)
 
void SetRunID (unsigned int run_id)
 
void AllowExtraMap (UcesbMap flag)
 
void RestartUcesbServer ()
 
template<typename ReaderType>
auto AddReader (std::unique_ptr< ReaderType > reader) -> ReaderType *
 
template<typename ReaderType, typename... Args>
auto AddReader (Args &&... args) -> ReaderType *
 
template<typename UnaryOp>
void ForEachReader (UnaryOp opt)
 
template<typename Predicate>
auto FindReaderIf (Predicate pred) -> R3BReader *
 
auto * AddReader (R3BReader *a_reader)
 
 ClassDefOverride (R3B::UcesbSource, 1)
 

Private Member Functions

void init_runID ()
 
void init_ucesb ()
 
void init_ucesb_bp ()
 
void init_readers ()
 
void setup_ucesb ()
 
void print_raw_data ()
 
void restart_ucesb_server ()
 
void restart_ucesb_server_delayed ()
 
bool Init () override
 
bool InitUnpackers () override
 
bool ReInitUnpackers () override
 
void Close () override
 
void SetParUnpackers () override
 
void Reset () override
 
void FillEventHeader (FairEventHeader *feh) override
 
int ReadEvent (unsigned int eventID=0) override
 
int CheckMaxEventNo (int EvtEnd=0) override
 
bool SpecifyRunId () override
 
Source_Type GetSourceType () override
 

Private Attributes

bool has_raw_data_printing_ = false
 
bool is_infinite_run_ = false
 
unsigned int run_id_ = 0
 
int max_event_num_ = 0
 
size_t event_struct_size_ = 0
 
EventStructTypeevent_struct_ = nullptr
 
R3BEventHeaderevent_header_ = nullptr
 
std::vector< std::unique_ptr< R3BReader > > readers_
 
std::string lmdfile_name_
 
std::string ntuple_options_
 
std::string ucesb_path_
 
std::mutex event_reader_mutex_
 
std::chrono::time_point< std::chrono::system_clock > last_start_time_ = std::chrono::system_clock::now()
 
std::chrono::minutes waiting_time_ { 0 }
 
ext_data_clnt ucesb_client_
 
UcesbStructInfo ucesb_client_struct_info_
 
std::unique_ptr< UcesbServerLauncherucesb_server_launcher_
 

Detailed Description

Definition at line 36 of file R3BUcesbSource2.h.

Constructor & Destructor Documentation

◆ UcesbSource() [1/4]

R3B::UcesbSource::UcesbSource ( )
default

◆ UcesbSource() [2/4]

R3B::UcesbSource::UcesbSource ( std::string_view lmdfile_name,
std::string_view ntuple_options,
std::string_view ucesb_path,
EventStructType * event_struct,
size_t event_struct_size )

Definition at line 62 of file R3BUcesbSource2.cxx.

◆ ~UcesbSource()

R3B::UcesbSource::~UcesbSource ( )
override

Definition at line 82 of file R3BUcesbSource2.cxx.

◆ UcesbSource() [3/4]

R3B::UcesbSource::UcesbSource ( const UcesbSource & )
delete

◆ UcesbSource() [4/4]

R3B::UcesbSource::UcesbSource ( UcesbSource && )
delete

Member Function Documentation

◆ AddReader() [1/3]

template<typename ReaderType, typename... Args>
auto R3B::UcesbSource::AddReader ( Args &&... args) -> ReaderType*

Definition at line 147 of file R3BUcesbSource2.h.

◆ AddReader() [2/3]

auto * R3B::UcesbSource::AddReader ( R3BReader * a_reader)
inline

Definition at line 80 of file R3BUcesbSource2.h.

◆ AddReader() [3/3]

template<typename ReaderType>
auto R3B::UcesbSource::AddReader ( std::unique_ptr< ReaderType > reader) -> ReaderType*

Definition at line 140 of file R3BUcesbSource2.h.

◆ AllowExtraMap()

void R3B::UcesbSource::AllowExtraMap ( UcesbMap flag)
inline

Definition at line 64 of file R3BUcesbSource2.h.

◆ CheckMaxEventNo()

int R3B::UcesbSource::CheckMaxEventNo ( int EvtEnd = 0)
overrideprivate

Definition at line 223 of file R3BUcesbSource2.cxx.

◆ ClassDefOverride()

R3B::UcesbSource::ClassDefOverride ( R3B::UcesbSource ,
1  )

◆ Close()

void R3B::UcesbSource::Close ( )
inlineoverrideprivate

Definition at line 120 of file R3BUcesbSource2.h.

◆ FillEventHeader()

void R3B::UcesbSource::FillEventHeader ( FairEventHeader * feh)
overrideprivate

Definition at line 221 of file R3BUcesbSource2.cxx.

◆ FindReaderIf()

template<typename Predicate>
auto R3B::UcesbSource::FindReaderIf ( Predicate pred) -> R3BReader*

Definition at line 163 of file R3BUcesbSource2.h.

◆ ForEachReader()

template<typename UnaryOp>
void R3B::UcesbSource::ForEachReader ( UnaryOp opt)

Definition at line 154 of file R3BUcesbSource2.h.

◆ GetSourceType()

Source_Type R3B::UcesbSource::GetSourceType ( )
inlineoverrideprivate

Definition at line 133 of file R3BUcesbSource2.h.

◆ Init()

bool R3B::UcesbSource::Init ( )
overrideprivate

Definition at line 75 of file R3BUcesbSource2.cxx.

◆ init_readers()

void R3B::UcesbSource::init_readers ( )
private

Definition at line 230 of file R3BUcesbSource2.cxx.

◆ init_runID()

void R3B::UcesbSource::init_runID ( )
private

Definition at line 197 of file R3BUcesbSource2.cxx.

◆ init_ucesb()

void R3B::UcesbSource::init_ucesb ( )
private

Definition at line 84 of file R3BUcesbSource2.cxx.

◆ init_ucesb_bp()

void R3B::UcesbSource::init_ucesb_bp ( )
private

◆ InitUnpackers()

bool R3B::UcesbSource::InitUnpackers ( )
overrideprivate

Definition at line 97 of file R3BUcesbSource2.cxx.

◆ operator=() [1/2]

UcesbSource & R3B::UcesbSource::operator= ( const UcesbSource & )
delete

◆ operator=() [2/2]

UcesbSource & R3B::UcesbSource::operator= ( UcesbSource && )
delete

◆ print_raw_data()

void R3B::UcesbSource::print_raw_data ( )
private

Definition at line 175 of file R3BUcesbSource2.cxx.

◆ ReadEvent()

int R3B::UcesbSource::ReadEvent ( unsigned int eventID = 0)
overrideprivate

Definition at line 148 of file R3BUcesbSource2.cxx.

◆ ReInitUnpackers()

bool R3B::UcesbSource::ReInitUnpackers ( )
overrideprivate

Definition at line 244 of file R3BUcesbSource2.cxx.

◆ Reset()

void R3B::UcesbSource::Reset ( )
inlineoverrideprivate

Definition at line 125 of file R3BUcesbSource2.h.

◆ restart_ucesb_server()

void R3B::UcesbSource::restart_ucesb_server ( )
private

Definition at line 257 of file R3BUcesbSource2.cxx.

◆ restart_ucesb_server_delayed()

void R3B::UcesbSource::restart_ucesb_server_delayed ( )
private

Definition at line 265 of file R3BUcesbSource2.cxx.

◆ RestartUcesbServer()

void R3B::UcesbSource::RestartUcesbServer ( )

Definition at line 135 of file R3BUcesbSource2.cxx.

◆ SetEventStruct()

void R3B::UcesbSource::SetEventStruct ( EventStructType * event_struct)
inline

Definition at line 61 of file R3BUcesbSource2.h.

◆ SetEventStructSize()

void R3B::UcesbSource::SetEventStructSize ( size_t event_size)
inline

Definition at line 58 of file R3BUcesbSource2.h.

◆ SetInfiniteRun()

void R3B::UcesbSource::SetInfiniteRun ( bool is_infinite = true)
inline

Definition at line 59 of file R3BUcesbSource2.h.

◆ SetLMDFileName()

void R3B::UcesbSource::SetLMDFileName ( std::string_view lmdfile_name)
inline

Definition at line 55 of file R3BUcesbSource2.h.

◆ SetMaxEvents()

void R3B::UcesbSource::SetMaxEvents ( int max_event_num)
inline

Definition at line 54 of file R3BUcesbSource2.h.

◆ SetNTupleOptions()

void R3B::UcesbSource::SetNTupleOptions ( std::string_view ntuple_options)
inline

Definition at line 56 of file R3BUcesbSource2.h.

◆ SetParUnpackers()

void R3B::UcesbSource::SetParUnpackers ( )
inlineoverrideprivate

Definition at line 121 of file R3BUcesbSource2.h.

◆ SetRawDataPrint()

void R3B::UcesbSource::SetRawDataPrint ( bool print_raw_data)
inline

Definition at line 62 of file R3BUcesbSource2.h.

◆ SetRunID()

void R3B::UcesbSource::SetRunID ( unsigned int run_id)
inline

Definition at line 63 of file R3BUcesbSource2.h.

◆ SetUcesbPath()

void R3B::UcesbSource::SetUcesbPath ( std::string_view ucesb_path)
inline

Definition at line 57 of file R3BUcesbSource2.h.

◆ setup_ucesb()

void R3B::UcesbSource::setup_ucesb ( )
private

Definition at line 115 of file R3BUcesbSource2.cxx.

◆ SpecifyRunId()

bool R3B::UcesbSource::SpecifyRunId ( )
inlineoverrideprivate

Definition at line 132 of file R3BUcesbSource2.h.

Member Data Documentation

◆ event_header_

R3BEventHeader* R3B::UcesbSource::event_header_ = nullptr
private

Definition at line 92 of file R3BUcesbSource2.h.

◆ event_reader_mutex_

std::mutex R3B::UcesbSource::event_reader_mutex_
private

Definition at line 97 of file R3BUcesbSource2.h.

◆ event_struct_

EventStructType* R3B::UcesbSource::event_struct_ = nullptr
private

Definition at line 91 of file R3BUcesbSource2.h.

◆ event_struct_size_

size_t R3B::UcesbSource::event_struct_size_ = 0
private

Definition at line 90 of file R3BUcesbSource2.h.

◆ has_raw_data_printing_

bool R3B::UcesbSource::has_raw_data_printing_ = false
private

Definition at line 86 of file R3BUcesbSource2.h.

◆ is_infinite_run_

bool R3B::UcesbSource::is_infinite_run_ = false
private

Definition at line 87 of file R3BUcesbSource2.h.

◆ last_start_time_

std::chrono::time_point<std::chrono::system_clock> R3B::UcesbSource::last_start_time_ = std::chrono::system_clock::now()
private

Definition at line 98 of file R3BUcesbSource2.h.

◆ lmdfile_name_

std::string R3B::UcesbSource::lmdfile_name_
private

Definition at line 94 of file R3BUcesbSource2.h.

◆ max_event_num_

int R3B::UcesbSource::max_event_num_ = 0
private

Definition at line 89 of file R3BUcesbSource2.h.

◆ ntuple_options_

std::string R3B::UcesbSource::ntuple_options_
private

Definition at line 95 of file R3BUcesbSource2.h.

◆ readers_

std::vector<std::unique_ptr<R3BReader> > R3B::UcesbSource::readers_
private

Definition at line 93 of file R3BUcesbSource2.h.

◆ run_id_

unsigned int R3B::UcesbSource::run_id_ = 0
private

Definition at line 88 of file R3BUcesbSource2.h.

◆ ucesb_client_

ext_data_clnt R3B::UcesbSource::ucesb_client_
private

Definition at line 101 of file R3BUcesbSource2.h.

◆ ucesb_client_struct_info_

UcesbStructInfo R3B::UcesbSource::ucesb_client_struct_info_
private

Definition at line 102 of file R3BUcesbSource2.h.

◆ ucesb_path_

std::string R3B::UcesbSource::ucesb_path_
private

Definition at line 96 of file R3BUcesbSource2.h.

◆ ucesb_server_launcher_

std::unique_ptr<UcesbServerLauncher> R3B::UcesbSource::ucesb_server_launcher_
private

Definition at line 103 of file R3BUcesbSource2.h.

◆ waiting_time_

std::chrono::minutes R3B::UcesbSource::waiting_time_ { 0 }
private

Definition at line 99 of file R3BUcesbSource2.h.


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