#include <Processor.h>
Public Member Functions | |
Processor (unsigned rocid, unsigned nxmask=0x5) | |
virtual | ~Processor () |
virtual bool | FirstBufferScan (const base::Buffer &buf) |
virtual bool | SecondBufferScan (const base::Buffer &buf) |
unsigned | GetBoardId () const |
void | SetSyncSource (unsigned id) |
void | SetNoSyncSource () |
void | SetTriggerSignal (unsigned id) |
void | SetNoTriggerSignal () |
void | SetPrint (int nummsg, double left=-1., double right=-1.) |
ProcMgr * | mgr () const |
const std::string | GetProcName () const |
void | SetTimeSorting (bool on) |
bool | IsTimeSorting () const |
void | SetTriggerWindow (double left, double right) |
bool | IsSynchronisationRequired () const |
virtual bool | AddNextBuffer (const Buffer &buf) |
virtual bool | ScanNewBuffers () |
virtual bool | ScanNewBuffersTm () |
virtual void | SkipAllData () |
virtual bool | SkipBuffers (unsigned cnt) |
unsigned | numSyncs () const |
SyncMarker & | getSync (unsigned n) |
SyncMarker & | lastSync () |
bool | eraseSyncAt (unsigned indx) |
virtual bool | CollectTriggers (GlobalTriggerMarksQueue &queue) |
virtual bool | DistributeTriggers (const GlobalTriggerMarksQueue &queue) |
virtual bool | ScanDataForNewTriggers () |
unsigned | NumReadySubevents () const |
virtual bool | AppendSubevent (base::Event *evt) |
Static Public Member Functions | |
static void | SetDisorderTm (double v) |
static void | SetLastEpochCorr (bool on) |
static bool | IsLastEpochCorr () |
static void | SetMaxBrdId (unsigned max) |
Protected Types | |
typedef std::vector< base::Buffer > | BuffersQueue |
typedef std::vector < base::SyncMarker > | SyncMarksQueue |
typedef std::vector < base::LocalTriggerMarker > | LocalTriggerMarksQueue |
Protected Member Functions | |
bool | nx_in_use (unsigned id) |
total number of corrected hits | |
bool | IsValidBufIndex (unsigned indx) const |
void | AssignBufferTo (roc::Iterator &iter, const base::Buffer &buf) |
virtual double | MaximumDisorderTm () const |
virtual unsigned | GetTriggerMultipl (unsigned indx) |
virtual void | SortDataInSubEvent (base::SubEvent *) |
virtual bool | doTriggerSelection () const |
maximum allowed board id, used for histogramming | |
void | CreateBasicHistograms () |
void | FillMsgPerBrdHist (unsigned cnt) |
void | SetSubPrefix (const char *subname="", int indx=-1, const char *subname2="", int indx2=-1) |
H1handle | MakeH1 (const char *name, const char *title, int nbins, double left, double right, const char *xtitle=0) |
void | FillH1 (H1handle h1, double x, double weight=1.) |
H2handle | MakeH2 (const char *name, const char *title, int nbins1, double left1, double right1, int nbins2, double left2, double right2, const char *options=0) |
void | FillH2 (H1handle h2, double x, double y, double weight=1.) |
C1handle | MakeC1 (const char *name, double left, double right, H1handle h1=0) |
void | ChangeC1 (C1handle c1, double left, double right) |
int | TestC1 (C1handle c1, double value, double *dist=0) |
double | GetC1Limit (C1handle c1, bool isleft=true) |
void | AddSyncMarker (SyncMarker &marker) |
void | AddTriggerMarker (LocalTriggerMarker &marker) |
double | local_time_dist (GlobalTime_t tm1, GlobalTime_t tm2) |
GlobalTime_t | LocalToGlobalTime (GlobalTime_t localtm, unsigned *lastindx=0) |
virtual GlobalTime_t | ProvidePotentialFlushTime (GlobalTime_t last_marker) |
bool | VerifyFlushTime (const base::GlobalTime_t &flush_time) |
unsigned | TestHitTime (const base::GlobalTime_t &hittime, bool normal_hit) |
Protected Attributes | |
roc::Iterator | fIter |
roc::Iterator | fIter2 |
first iterator over all messages | |
base::H1handle | fMsgsKind |
second iterator over all messages | |
base::H1handle | fSysTypes |
histogram with messages kinds | |
std::vector< nx::NxRec > | NX |
histogram with system types | |
int | fNumHits |
usage masks for nxyters | |
int | fNumBadHits |
total number of hits | |
int | fNumCorrHits |
total number of bad hits | |
unsigned | fBrdId |
unsigned | fSyncSource |
board id, which will be used for the filling | |
unsigned | fTriggerSignal |
int | fNumPrintMessages |
double | fPrintLeft |
number of messages to be printed | |
double | fPrintRight |
left border to start printing | |
bool | fAnyPrinted |
right border to stop printing | |
base::H1handle | fMsgPerBrd |
true when any message was printed | |
base::H1handle | fALLt |
common histogram for all boards with similar prefix | |
base::H1handle | fAUXt [4] |
histogram for all messages times | |
base::H1handle | fSYNCt [2] |
histogram for AUX times | |
std::string | fName |
ProcMgr * | fMgr |
processor name, used for event naming | |
BuffersQueue | fQueue |
unsigned | fQueueScanIndex |
index of next buffer which should be scanned | |
unsigned | fQueueScanIndexTm |
index of buffer to scan and set correct times of the buffer head | |
bool | fIsSynchronisationRequired |
true if sync is required | |
SyncMarksQueue | fSyncs |
list of sync markers | |
unsigned | fSyncScanIndex |
sync scan index, use to adjust syncs over many processors | |
bool | fSyncFlag |
boolean, used in sync adjustment procedure | |
LocalTriggerMarksQueue | fLocalTrig |
list of local triggers | |
GlobalTriggerMarksQueue | fGlobalTrig |
list of global triggers in work | |
unsigned | fGlobalTrigScanIndex |
index with first trigger which is not yet ready | |
unsigned | fGlobalTrigRightIndex |
temporary value, used during second buffers scan | |
bool | fTimeSorting |
defines if time sorting should be used for the messages | |
std::string | fPrefix |
prefix, used for histogram names | |
std::string | fSubPrefixD |
sub-prefix for histogram directory | |
std::string | fSubPrefixN |
sub-prefix for histogram names | |
base::H1handle | fTriggerTm |
base::H1handle | fMultipl |
histogram with time relative to the trigger | |
base::C1handle | triggerWindow |
histogram of event multiplicity | |
Static Protected Attributes | |
static double | fNXDisorderTm = 17000. |
static bool | fLastEpochCorr = false |
static unsigned | fMaxBrdId = 16 |
histogram for SYNC times |
Definition at line 42 of file Processor.h.
typedef std::vector<base::Buffer> base::StreamProc::BuffersQueue [protected, inherited] |
Definition at line 83 of file StreamProc.h.
typedef std::vector<base::LocalTriggerMarker> base::StreamProc::LocalTriggerMarksQueue [protected, inherited] |
Definition at line 87 of file StreamProc.h.
typedef std::vector<base::SyncMarker> base::StreamProc::SyncMarksQueue [protected, inherited] |
Definition at line 85 of file StreamProc.h.
nx::Processor::Processor | ( | unsigned | rocid, | |
unsigned | nxmask = 0x5 | |||
) |
Definition at line 208 of file Processor.cxx.
References base::SysCoreProc::CreateBasicHistograms(), fMsgsKind, fNumBadHits, fNumCorrHits, fNumHits, fSysTypes, base::StreamProc::MakeH1(), base::StreamProc::MakeH2(), base::StreamProc::mgr(), NX, roc::proc_RocEvent, base::SysCoreProc::SetNoTriggerSignal(), base::StreamProc::SetSubPrefix(), and base::SysCoreProc::SetSyncSource().
nx::Processor::~Processor | ( | ) | [virtual] |
Definition at line 254 of file Processor.cxx.
References fNumBadHits, fNumCorrHits, fNumHits, and base::StreamProc::GetProcName().
bool base::StreamProc::AddNextBuffer | ( | const Buffer & | buf | ) | [virtual, inherited] |
Provide next port of data to the processor
Definition at line 273 of file StreamProc.cxx.
References base::StreamProc::fQueue.
void base::StreamProc::AddSyncMarker | ( | base::SyncMarker & | marker | ) | [protected, inherited] |
Definition at line 352 of file StreamProc.cxx.
References base::SyncMarker::bufid, base::StreamProc::fQueueScanIndex, base::StreamProc::fSyncs, base::SyncMarker::globaltm, and base::StreamProc::IsSynchronisationRequired().
Referenced by FirstBufferScan(), and get4::Processor::FirstBufferScan().
void base::StreamProc::AddTriggerMarker | ( | LocalTriggerMarker & | marker | ) | [protected, inherited] |
Definition at line 365 of file StreamProc.cxx.
References base::LocalTriggerMarker::bufid, base::StreamProc::fLocalTrig, and base::StreamProc::fQueueScanIndex.
Referenced by FirstBufferScan(), and get4::Processor::FirstBufferScan().
bool base::StreamProc::AppendSubevent | ( | base::Event * | evt | ) | [virtual, inherited] |
Append data for first trigger to the main event
Definition at line 474 of file StreamProc.cxx.
References base::Event::AddSubEvent(), base::StreamProc::fGlobalTrig, base::StreamProc::fGlobalTrigScanIndex, base::StreamProc::FillH1(), base::StreamProc::fMultipl, base::StreamProc::GetProcName(), base::StreamProc::GetTriggerMultipl(), base::StreamProc::IsTimeSorting(), and base::StreamProc::SortDataInSubEvent().
void nx::Processor::AssignBufferTo | ( | roc::Iterator & | iter, | |
const base::Buffer & | buf | |||
) | [protected] |
Definition at line 264 of file Processor.cxx.
References roc::Iterator::assign(), base::Buffer::null(), roc::Message::RawSize(), roc::Iterator::setFormat(), and roc::Iterator::setRocNumber().
Referenced by FirstBufferScan(), and SecondBufferScan().
void base::StreamProc::ChangeC1 | ( | C1handle | c1, | |
double | left, | |||
double | right | |||
) | [protected, inherited] |
Definition at line 176 of file StreamProc.cxx.
References base::ProcMgr::ChangeC1(), and base::StreamProc::mgr().
Referenced by base::StreamProc::SetTriggerWindow().
bool base::StreamProc::CollectTriggers | ( | GlobalTriggerMarksQueue & | queue | ) | [virtual, inherited] |
Method to deliver detected triggers from processor to central manager
Definition at line 420 of file StreamProc.cxx.
References base::StreamProc::fLocalTrig, base::StreamProc::fQueueScanIndexTm, base::GlobalTriggerMarker::globaltm, and base::StreamProc::LocalToGlobalTime().
void base::SysCoreProc::CreateBasicHistograms | ( | ) | [protected, inherited] |
Definition at line 29 of file SysCoreProc.cxx.
References base::SysCoreProc::fALLt, base::SysCoreProc::fAUXt, base::SysCoreProc::fSYNCt, and base::StreamProc::MakeH1().
Referenced by Processor(), and get4::Processor::Processor().
bool base::StreamProc::DistributeTriggers | ( | const GlobalTriggerMarksQueue & | queue | ) | [virtual, inherited] |
This is method to get back identified triggers from central manager
Definition at line 452 of file StreamProc.cxx.
References base::StreamProc::fGlobalTrig, base::StreamProc::GetC1Limit(), and base::StreamProc::triggerWindow.
virtual bool base::SysCoreProc::doTriggerSelection | ( | ) | const [inline, protected, virtual, inherited] |
maximum allowed board id, used for histogramming
Returns true when processor used to select trigger signal In subclass one could have alternative ways of trigger or ROI selections
Reimplemented from base::StreamProc.
Reimplemented in get4::Processor.
Definition at line 37 of file SysCoreProc.h.
References base::SysCoreProc::fTriggerSignal.
bool base::StreamProc::eraseSyncAt | ( | unsigned | indx | ) | [inherited] |
Removes sync at specified position
Definition at line 193 of file StreamProc.cxx.
References base::StreamProc::fSyncs, and base::StreamProc::fSyncScanIndex.
Referenced by base::ProcMgr::AnalyzeSyncMarkers().
void base::StreamProc::FillH1 | ( | H1handle | h1, | |
double | x, | |||
double | weight = 1. | |||
) | [protected, inherited] |
Definition at line 137 of file StreamProc.cxx.
References base::ProcMgr::FillH1(), and base::StreamProc::mgr().
Referenced by base::StreamProc::AppendSubevent(), base::SysCoreProc::FillMsgPerBrdHist(), FirstBufferScan(), get4::Processor::FirstBufferScan(), and base::StreamProc::TestHitTime().
void base::StreamProc::FillH2 | ( | H1handle | h2, | |
double | x, | |||
double | y, | |||
double | weight = 1. | |||
) | [protected, inherited] |
Definition at line 158 of file StreamProc.cxx.
References base::ProcMgr::FillH2(), and base::StreamProc::mgr().
Referenced by FirstBufferScan().
void base::SysCoreProc::FillMsgPerBrdHist | ( | unsigned | cnt | ) | [inline, protected, inherited] |
Definition at line 41 of file SysCoreProc.h.
References base::StreamProc::FillH1(), base::SysCoreProc::fMsgPerBrd, and base::SysCoreProc::GetBoardId().
Referenced by FirstBufferScan(), and get4::Processor::FirstBufferScan().
bool nx::Processor::FirstBufferScan | ( | const base::Buffer & | buf | ) | [virtual] |
Scan NX messages for SYNC, AUX and all other kind of messages
Reimplemented from base::StreamProc.
Definition at line 279 of file Processor.cxx.
References base::StreamProc::AddSyncMarker(), base::StreamProc::AddTriggerMarker(), AssignBufferTo(), base::SysCoreProc::fALLt, base::SysCoreProc::fAnyPrinted, base::SysCoreProc::fAUXt, base::StreamProc::FillH1(), base::StreamProc::FillH2(), base::SysCoreProc::FillMsgPerBrdHist(), fIter, fMsgsKind, fNumBadHits, fNumCorrHits, fNumHits, base::SysCoreProc::fNumPrintMessages, base::SysCoreProc::fPrintLeft, base::SysCoreProc::fPrintRight, base::SysCoreProc::fSyncSource, base::SysCoreProc::fSYNCt, fSysTypes, base::SysCoreProc::fTriggerSignal, roc::Message::getAuxChNum(), base::SysCoreProc::GetBoardId(), roc::Message::getMessageType(), roc::Iterator::getMsgFullTime(), roc::Iterator::getMsgFullTimeD(), roc::Message::getNxAdcValue(), roc::Message::getNxChNum(), roc::Message::getNxNumber(), roc::Message::getRocNumber(), roc::Message::getSyncChNum(), roc::Message::getSyncData(), roc::Message::getSysMesType(), roc::Message::isEpochMsg(), roc::Iterator::islast(), IsLastEpochCorr(), base::SyncMarker::local_stamp, base::LocalTriggerMarker::localid, base::SyncMarker::localid, base::LocalTriggerMarker::localtm, base::SyncMarker::localtm, roc::Iterator::msg(), roc::MSG_AUX, roc::MSG_EPOCH, roc::MSG_EPOCH2, roc::MSG_GET4, roc::MSG_HIT, roc::MSG_NOP, roc::msg_print_Human, roc::MSG_SYNC, roc::MSG_SYS, roc::Iterator::next(), base::Buffer::null(), NX, nx_in_use(), roc::Iterator::printMessage(), and base::SyncMarker::uniqueid.
unsigned base::SysCoreProc::GetBoardId | ( | ) | const [inline, inherited] |
Returns configured board id
Definition at line 49 of file SysCoreProc.h.
References base::SysCoreProc::fBrdId.
Referenced by base::SysCoreProc::FillMsgPerBrdHist(), FirstBufferScan(), get4::Processor::FirstBufferScan(), SecondBufferScan(), and get4::Processor::SecondBufferScan().
double base::StreamProc::GetC1Limit | ( | C1handle | c1, | |
bool | isleft = true | |||
) | [protected, inherited] |
Definition at line 188 of file StreamProc.cxx.
References base::ProcMgr::GetC1Limit(), and base::StreamProc::mgr().
Referenced by base::StreamProc::DistributeTriggers(), and base::StreamProc::ScanDataForNewTriggers().
const std::string base::StreamProc::GetProcName | ( | ) | const [inline, inherited] |
Definition at line 174 of file StreamProc.h.
References base::StreamProc::fName.
Referenced by base::StreamProc::AppendSubevent(), and ~Processor().
SyncMarker& base::StreamProc::getSync | ( | unsigned | n | ) | [inline, inherited] |
Definition at line 223 of file StreamProc.h.
References base::StreamProc::fSyncs.
Referenced by base::ProcMgr::AnalyzeSyncMarkers(), and base::StreamProc::LocalToGlobalTime().
unsigned nx::Processor::GetTriggerMultipl | ( | unsigned | indx | ) | [protected, virtual] |
Method should return measure for subevent multiplicity
Reimplemented from base::StreamProc.
Definition at line 500 of file Processor.cxx.
References nx::SubEvent::fExtMessages, and base::StreamProc::fGlobalTrig.
static bool nx::Processor::IsLastEpochCorr | ( | ) | [inline, static] |
Definition at line 87 of file Processor.h.
References fLastEpochCorr.
Referenced by FirstBufferScan(), and SecondBufferScan().
bool base::StreamProc::IsSynchronisationRequired | ( | ) | const [inline, inherited] |
Method indicate if any kind of time-synchronization technique should be applied for the processor. If true, sync messages must be produced by processor and will be used. If false, local time stamps could be immediately used (with any necessary conversion)
Definition at line 191 of file StreamProc.h.
References base::StreamProc::fIsSynchronisationRequired.
Referenced by base::StreamProc::AddSyncMarker(), base::ProcMgr::AnalyzeSyncMarkers(), and base::StreamProc::LocalToGlobalTime().
bool base::StreamProc::IsTimeSorting | ( | ) | const [inline, inherited] |
Definition at line 178 of file StreamProc.h.
References base::StreamProc::fTimeSorting.
Referenced by base::StreamProc::AppendSubevent().
bool nx::Processor::IsValidBufIndex | ( | unsigned | indx | ) | const [inline, protected] |
Definition at line 59 of file Processor.h.
References base::StreamProc::fQueue.
SyncMarker& base::StreamProc::lastSync | ( | ) | [inline, inherited] |
Definition at line 224 of file StreamProc.h.
References base::StreamProc::fSyncs.
double base::StreamProc::local_time_dist | ( | GlobalTime_t | tm1, | |
GlobalTime_t | tm2 | |||
) | [inline, protected, inherited] |
Definition at line 142 of file StreamProc.h.
Referenced by base::StreamProc::LocalToGlobalTime().
base::GlobalTime_t base::StreamProc::LocalToGlobalTime | ( | base::GlobalTime_t | localtm, | |
unsigned * | lastindx = 0 | |||
) | [protected, inherited] |
Method converts local time (in ns representation) to global time TODO: One could introduce more precise method, which works with stamps
Definition at line 203 of file StreamProc.cxx.
References base::StreamProc::getSync(), base::SyncMarker::globaltm, base::StreamProc::IsSynchronisationRequired(), base::StreamProc::local_time_dist(), base::SyncMarker::localtm, and base::StreamProc::numSyncs().
Referenced by base::StreamProc::CollectTriggers(), base::StreamProc::ScanNewBuffersTm(), SecondBufferScan(), and get4::Processor::SecondBufferScan().
base::C1handle base::StreamProc::MakeC1 | ( | const char * | name, | |
double | left, | |||
double | right, | |||
H1handle | h1 = 0 | |||
) | [protected, inherited] |
Definition at line 164 of file StreamProc.cxx.
References base::StreamProc::fPrefix, base::StreamProc::fSubPrefixD, base::StreamProc::fSubPrefixN, base::ProcMgr::MakeC1(), and base::StreamProc::mgr().
Referenced by base::StreamProc::StreamProc().
base::H1handle base::StreamProc::MakeH1 | ( | const char * | name, | |
const char * | title, | |||
int | nbins, | |||
double | left, | |||
double | right, | |||
const char * | xtitle = 0 | |||
) | [protected, inherited] |
Definition at line 120 of file StreamProc.cxx.
References base::StreamProc::fName, base::StreamProc::fPrefix, base::StreamProc::fSubPrefixD, base::StreamProc::fSubPrefixN, base::ProcMgr::MakeH1(), and base::StreamProc::mgr().
Referenced by base::SysCoreProc::CreateBasicHistograms(), Processor(), get4::Processor::Processor(), get4::Processor::setRefChannel(), and base::StreamProc::StreamProc().
base::H2handle base::StreamProc::MakeH2 | ( | const char * | name, | |
const char * | title, | |||
int | nbins1, | |||
double | left1, | |||
double | right1, | |||
int | nbins2, | |||
double | left2, | |||
double | right2, | |||
const char * | options = 0 | |||
) | [protected, inherited] |
Definition at line 142 of file StreamProc.cxx.
References base::StreamProc::fName, base::StreamProc::fPrefix, base::StreamProc::fSubPrefixD, base::StreamProc::fSubPrefixN, base::ProcMgr::MakeH2(), and base::StreamProc::mgr().
Referenced by Processor().
virtual double nx::Processor::MaximumDisorderTm | ( | ) | const [inline, protected, virtual] |
Time constant, defines how far disorder of messages can go
Reimplemented from base::StreamProc.
Definition at line 64 of file Processor.h.
References fNXDisorderTm.
ProcMgr* base::StreamProc::mgr | ( | ) | const [inline, inherited] |
Definition at line 172 of file StreamProc.h.
References base::StreamProc::fMgr.
Referenced by base::StreamProc::ChangeC1(), base::StreamProc::FillH1(), base::StreamProc::FillH2(), base::StreamProc::GetC1Limit(), base::StreamProc::MakeC1(), base::StreamProc::MakeH1(), base::StreamProc::MakeH2(), Processor(), get4::Processor::Processor(), base::SysCoreProc::SysCoreProc(), and base::StreamProc::TestC1().
unsigned base::StreamProc::NumReadySubevents | ( | ) | const [inline, inherited] |
Returns number of already build events
Definition at line 238 of file StreamProc.h.
References base::StreamProc::fGlobalTrigScanIndex.
unsigned base::StreamProc::numSyncs | ( | ) | const [inline, inherited] |
Returns total number of sync markers
Definition at line 222 of file StreamProc.h.
References base::StreamProc::fSyncs.
Referenced by base::ProcMgr::AnalyzeSyncMarkers(), and base::StreamProc::LocalToGlobalTime().
bool nx::Processor::nx_in_use | ( | unsigned | id | ) | [inline, protected] |
total number of corrected hits
Definition at line 57 of file Processor.h.
References NX.
Referenced by FirstBufferScan(), and SecondBufferScan().
base::GlobalTime_t base::StreamProc::ProvidePotentialFlushTime | ( | GlobalTime_t | last_marker | ) | [protected, virtual, inherited] |
Method should return time, which could be flushed from the processor
Definition at line 325 of file StreamProc.cxx.
References base::StreamProc::fQueue, and base::StreamProc::fQueueScanIndexTm.
bool base::StreamProc::ScanDataForNewTriggers | ( | ) | [virtual, inherited] |
Here each processor should scan data again for new triggers
Definition at line 571 of file StreamProc.cxx.
References base::StreamProc::fGlobalTrig, base::StreamProc::fGlobalTrigRightIndex, base::StreamProc::fGlobalTrigScanIndex, base::StreamProc::fQueue, base::StreamProc::fQueueScanIndexTm, base::StreamProc::GetC1Limit(), base::StreamProc::MaximumDisorderTm(), base::StreamProc::SecondBufferScan(), base::StreamProc::SkipBuffers(), and base::StreamProc::triggerWindow.
bool base::StreamProc::ScanNewBuffers | ( | ) | [virtual, inherited] |
Scanning all new buffers in the queue
Definition at line 280 of file StreamProc.cxx.
References base::StreamProc::FirstBufferScan(), base::StreamProc::fQueue, and base::StreamProc::fQueueScanIndex.
bool base::StreamProc::ScanNewBuffersTm | ( | ) | [virtual, inherited] |
With new calibration set (where possible) time of buffers
Definition at line 306 of file StreamProc.cxx.
References base::StreamProc::fQueue, base::StreamProc::fQueueScanIndexTm, base::StreamProc::fSyncs, base::StreamProc::fSyncScanIndex, and base::StreamProc::LocalToGlobalTime().
bool nx::Processor::SecondBufferScan | ( | const base::Buffer & | buf | ) | [virtual] |
Scan buffer for selecting them inside trigger
Reimplemented from base::StreamProc.
Definition at line 508 of file Processor.cxx.
References AssignBufferTo(), nx::SubEvent::fExtMessages, base::StreamProc::fGlobalTrig, fIter2, base::SysCoreProc::GetBoardId(), roc::Message::getMessageType(), roc::Iterator::getMsgFullTime(), roc::Message::getNxNumber(), roc::Message::getRocNumber(), roc::Message::isEpochMsg(), roc::Message::isHitMsg(), roc::Iterator::islast(), IsLastEpochCorr(), base::StreamProc::LocalToGlobalTime(), roc::Iterator::msg(), roc::MSG_AUX, roc::MSG_EPOCH, roc::MSG_EPOCH2, roc::MSG_GET4, roc::MSG_HIT, roc::MSG_NOP, roc::MSG_SYNC, roc::MSG_SYS, roc::Iterator::next(), base::Buffer::null(), NX, nx_in_use(), and base::StreamProc::TestHitTime().
static void nx::Processor::SetDisorderTm | ( | double | v | ) | [inline, static] |
Definition at line 85 of file Processor.h.
References fNXDisorderTm.
static void nx::Processor::SetLastEpochCorr | ( | bool | on | ) | [inline, static] |
Definition at line 86 of file Processor.h.
References fLastEpochCorr.
static void base::SysCoreProc::SetMaxBrdId | ( | unsigned | max | ) | [inline, static, inherited] |
Set maximum board number, used for histograming
Definition at line 86 of file SysCoreProc.h.
References base::SysCoreProc::fMaxBrdId.
void base::SysCoreProc::SetNoSyncSource | ( | ) | [inline, inherited] |
This declares that local time stamp will be used. Should work with single ROC setup or with optical-based readout, where all time counters are synchronized
Definition at line 63 of file SysCoreProc.h.
References base::SysCoreProc::SetSyncSource().
Referenced by get4::Processor::Processor().
void base::SysCoreProc::SetNoTriggerSignal | ( | ) | [inline, inherited] |
Disable any trigger generation
Definition at line 71 of file SysCoreProc.h.
References base::SysCoreProc::fTriggerSignal.
Referenced by Processor(), and get4::Processor::Processor().
void base::SysCoreProc::SetPrint | ( | int | nummsg, | |
double | left = -1. , |
|||
double | right = -1. | |||
) | [inline, inherited] |
Set number of messages to be printed Optionally, one could specify time window where messages should be taken Time is same as time on histogram like AUX0t or SYNC1 (truncated to 1000 s)
Definition at line 77 of file SysCoreProc.h.
References base::SysCoreProc::fAnyPrinted, base::SysCoreProc::fNumPrintMessages, base::SysCoreProc::fPrintLeft, and base::SysCoreProc::fPrintRight.
void base::StreamProc::SetSubPrefix | ( | const char * | subname = "" , |
|
int | indx = -1 , |
|||
const char * | subname2 = "" , |
|||
int | indx2 = -1 | |||
) | [protected, inherited] |
Set subprefix for histograms and conditions
Definition at line 84 of file StreamProc.cxx.
References base::StreamProc::fSubPrefixD, and base::StreamProc::fSubPrefixN.
Referenced by Processor(), get4::Processor::Processor(), and get4::Processor::setRefChannel().
void base::SysCoreProc::SetSyncSource | ( | unsigned | id | ) | [inline, inherited] |
Set signal id, used for time synchronization One could use SYNC0 (id=0) or SYNC1 (id=1) for synchronization with other components if other id specified, local time stamp will be used and no any sync will be used
Definition at line 54 of file SysCoreProc.h.
References base::StreamProc::fIsSynchronisationRequired, and base::SysCoreProc::fSyncSource.
Referenced by Processor(), and base::SysCoreProc::SetNoSyncSource().
void base::StreamProc::SetTimeSorting | ( | bool | on | ) | [inline, inherited] |
Enable/disable time sorting of data in output event
Definition at line 177 of file StreamProc.h.
References base::StreamProc::fTimeSorting.
void base::SysCoreProc::SetTriggerSignal | ( | unsigned | id | ) | [inline, inherited] |
Set signal kind which should be used for data selection Values 0..3 are for AUX0 - AUX3 Values 10,11 are for SYNC0, SYNC1
Definition at line 68 of file SysCoreProc.h.
References base::SysCoreProc::fTriggerSignal.
void base::StreamProc::SetTriggerWindow | ( | double | left, | |
double | right | |||
) | [inline, inherited] |
Definition at line 181 of file StreamProc.h.
References base::StreamProc::ChangeC1(), and base::StreamProc::triggerWindow.
void base::StreamProc::SkipAllData | ( | ) | [virtual, inherited] |
Method to remove all buffers, all triggers and so on
Definition at line 292 of file StreamProc.cxx.
References base::StreamProc::fGlobalTrig, base::StreamProc::fLocalTrig, base::StreamProc::fQueue, base::StreamProc::fQueueScanIndexTm, base::StreamProc::fSyncs, base::StreamProc::fSyncScanIndex, and base::StreamProc::SkipBuffers().
bool base::StreamProc::SkipBuffers | ( | unsigned | cnt | ) | [virtual, inherited] |
Force processor to skip buffers from input
Definition at line 372 of file StreamProc.cxx.
References base::StreamProc::fLocalTrig, base::StreamProc::fQueue, base::StreamProc::fQueueScanIndex, base::StreamProc::fQueueScanIndexTm, base::StreamProc::fSyncs, and base::StreamProc::fSyncScanIndex.
Referenced by base::StreamProc::ScanDataForNewTriggers(), and base::StreamProc::SkipAllData().
void nx::Processor::SortDataInSubEvent | ( | base::SubEvent * | subev | ) | [protected, virtual] |
Reimplemented from base::StreamProc.
Definition at line 599 of file Processor.cxx.
References nx::SubEvent::fExtMessages.
int base::StreamProc::TestC1 | ( | C1handle | c1, | |
double | value, | |||
double * | dist = 0 | |||
) | [protected, inherited] |
Definition at line 182 of file StreamProc.cxx.
References base::StreamProc::mgr(), and base::ProcMgr::TestC1().
unsigned base::StreamProc::TestHitTime | ( | const base::GlobalTime_t & | hittime, | |
bool | normal_hit | |||
) | [protected, inherited] |
Method decides to which trigger window belong hit
Definition at line 513 of file StreamProc.cxx.
References base::StreamProc::fGlobalTrig, base::StreamProc::fGlobalTrigRightIndex, base::StreamProc::fGlobalTrigScanIndex, base::StreamProc::FillH1(), base::StreamProc::fTriggerTm, and base::StreamProc::MaximumDisorderTm().
Referenced by SecondBufferScan(), and get4::Processor::SecondBufferScan().
bool base::StreamProc::VerifyFlushTime | ( | const base::GlobalTime_t & | flush_time | ) | [protected, inherited] |
Method must ensure that processor scanned such time and can really skip this data
Definition at line 338 of file StreamProc.cxx.
References base::StreamProc::fQueue, and base::StreamProc::fQueueScanIndexTm.
base::H1handle base::SysCoreProc::fALLt [protected, inherited] |
common histogram for all boards with similar prefix
Definition at line 29 of file SysCoreProc.h.
Referenced by base::SysCoreProc::CreateBasicHistograms(), FirstBufferScan(), and get4::Processor::FirstBufferScan().
bool base::SysCoreProc::fAnyPrinted [protected, inherited] |
right border to stop printing
Definition at line 26 of file SysCoreProc.h.
Referenced by FirstBufferScan(), and base::SysCoreProc::SetPrint().
base::H1handle base::SysCoreProc::fAUXt[4] [protected, inherited] |
histogram for all messages times
Definition at line 30 of file SysCoreProc.h.
Referenced by base::SysCoreProc::CreateBasicHistograms(), FirstBufferScan(), and get4::Processor::FirstBufferScan().
unsigned base::SysCoreProc::fBrdId [protected, inherited] |
Definition at line 18 of file SysCoreProc.h.
Referenced by base::SysCoreProc::GetBoardId().
GlobalTriggerMarksQueue base::StreamProc::fGlobalTrig [protected, inherited] |
list of global triggers in work
Definition at line 105 of file StreamProc.h.
Referenced by base::StreamProc::AppendSubevent(), base::StreamProc::DistributeTriggers(), GetTriggerMultipl(), get4::Processor::GetTriggerMultipl(), base::StreamProc::ScanDataForNewTriggers(), SecondBufferScan(), get4::Processor::SecondBufferScan(), base::StreamProc::SkipAllData(), base::StreamProc::TestHitTime(), and base::StreamProc::~StreamProc().
unsigned base::StreamProc::fGlobalTrigRightIndex [protected, inherited] |
temporary value, used during second buffers scan
Definition at line 108 of file StreamProc.h.
Referenced by base::StreamProc::ScanDataForNewTriggers(), and base::StreamProc::TestHitTime().
unsigned base::StreamProc::fGlobalTrigScanIndex [protected, inherited] |
index with first trigger which is not yet ready
Definition at line 107 of file StreamProc.h.
Referenced by base::StreamProc::AppendSubevent(), base::StreamProc::NumReadySubevents(), base::StreamProc::ScanDataForNewTriggers(), and base::StreamProc::TestHitTime().
bool base::StreamProc::fIsSynchronisationRequired [protected, inherited] |
true if sync is required
Definition at line 98 of file StreamProc.h.
Referenced by base::StreamProc::IsSynchronisationRequired(), and base::SysCoreProc::SetSyncSource().
roc::Iterator nx::Processor::fIter [protected] |
Definition at line 45 of file Processor.h.
Referenced by FirstBufferScan().
roc::Iterator nx::Processor::fIter2 [protected] |
first iterator over all messages
Definition at line 46 of file Processor.h.
Referenced by SecondBufferScan().
bool nx::Processor::fLastEpochCorr = false [static, protected] |
Definition at line 72 of file Processor.h.
Referenced by IsLastEpochCorr(), and SetLastEpochCorr().
LocalTriggerMarksQueue base::StreamProc::fLocalTrig [protected, inherited] |
list of local triggers
Definition at line 103 of file StreamProc.h.
Referenced by base::StreamProc::AddTriggerMarker(), base::StreamProc::CollectTriggers(), base::StreamProc::SkipAllData(), base::StreamProc::SkipBuffers(), and base::StreamProc::~StreamProc().
unsigned base::SysCoreProc::fMaxBrdId = 16 [static, protected, inherited] |
histogram for SYNC times
Definition at line 33 of file SysCoreProc.h.
Referenced by base::SysCoreProc::SetMaxBrdId(), and base::SysCoreProc::SysCoreProc().
ProcMgr* base::StreamProc::fMgr [protected, inherited] |
processor name, used for event naming
Definition at line 91 of file StreamProc.h.
Referenced by base::StreamProc::mgr(), and base::StreamProc::StreamProc().
base::H1handle base::SysCoreProc::fMsgPerBrd [protected, inherited] |
true when any message was printed
Definition at line 28 of file SysCoreProc.h.
Referenced by base::SysCoreProc::FillMsgPerBrdHist(), and base::SysCoreProc::SysCoreProc().
base::H1handle nx::Processor::fMsgsKind [protected] |
second iterator over all messages
Definition at line 48 of file Processor.h.
Referenced by FirstBufferScan(), and Processor().
base::H1handle base::StreamProc::fMultipl [protected, inherited] |
histogram with time relative to the trigger
Definition at line 117 of file StreamProc.h.
Referenced by base::StreamProc::AppendSubevent(), and base::StreamProc::StreamProc().
std::string base::StreamProc::fName [protected, inherited] |
Definition at line 89 of file StreamProc.h.
Referenced by base::StreamProc::GetProcName(), base::StreamProc::MakeH1(), base::StreamProc::MakeH2(), and base::StreamProc::StreamProc().
int nx::Processor::fNumBadHits [protected] |
total number of hits
Definition at line 54 of file Processor.h.
Referenced by FirstBufferScan(), Processor(), and ~Processor().
int nx::Processor::fNumCorrHits [protected] |
total number of bad hits
Definition at line 55 of file Processor.h.
Referenced by FirstBufferScan(), Processor(), and ~Processor().
int nx::Processor::fNumHits [protected] |
usage masks for nxyters
Definition at line 53 of file Processor.h.
Referenced by FirstBufferScan(), Processor(), and ~Processor().
int base::SysCoreProc::fNumPrintMessages [protected, inherited] |
Definition at line 23 of file SysCoreProc.h.
Referenced by FirstBufferScan(), and base::SysCoreProc::SetPrint().
double nx::Processor::fNXDisorderTm = 17000. [static, protected] |
Definition at line 71 of file Processor.h.
Referenced by MaximumDisorderTm(), and SetDisorderTm().
std::string base::StreamProc::fPrefix [protected, inherited] |
prefix, used for histogram names
Definition at line 112 of file StreamProc.h.
Referenced by base::StreamProc::MakeC1(), base::StreamProc::MakeH1(), base::StreamProc::MakeH2(), and base::StreamProc::StreamProc().
double base::SysCoreProc::fPrintLeft [protected, inherited] |
number of messages to be printed
Definition at line 24 of file SysCoreProc.h.
Referenced by FirstBufferScan(), and base::SysCoreProc::SetPrint().
double base::SysCoreProc::fPrintRight [protected, inherited] |
left border to start printing
Definition at line 25 of file SysCoreProc.h.
Referenced by FirstBufferScan(), and base::SysCoreProc::SetPrint().
BuffersQueue base::StreamProc::fQueue [protected, inherited] |
Definition at line 93 of file StreamProc.h.
Referenced by base::StreamProc::AddNextBuffer(), IsValidBufIndex(), get4::Processor::IsValidBufIndex(), base::StreamProc::ProvidePotentialFlushTime(), base::StreamProc::ScanDataForNewTriggers(), base::StreamProc::ScanNewBuffers(), base::StreamProc::ScanNewBuffersTm(), base::StreamProc::SkipAllData(), base::StreamProc::SkipBuffers(), base::StreamProc::VerifyFlushTime(), and base::StreamProc::~StreamProc().
unsigned base::StreamProc::fQueueScanIndex [protected, inherited] |
index of next buffer which should be scanned
Definition at line 95 of file StreamProc.h.
Referenced by base::StreamProc::AddSyncMarker(), base::StreamProc::AddTriggerMarker(), base::StreamProc::ScanNewBuffers(), and base::StreamProc::SkipBuffers().
unsigned base::StreamProc::fQueueScanIndexTm [protected, inherited] |
index of buffer to scan and set correct times of the buffer head
Definition at line 96 of file StreamProc.h.
Referenced by base::StreamProc::CollectTriggers(), base::StreamProc::ProvidePotentialFlushTime(), base::StreamProc::ScanDataForNewTriggers(), base::StreamProc::ScanNewBuffersTm(), base::StreamProc::SkipAllData(), base::StreamProc::SkipBuffers(), and base::StreamProc::VerifyFlushTime().
std::string base::StreamProc::fSubPrefixD [protected, inherited] |
sub-prefix for histogram directory
Definition at line 113 of file StreamProc.h.
Referenced by base::StreamProc::MakeC1(), base::StreamProc::MakeH1(), base::StreamProc::MakeH2(), and base::StreamProc::SetSubPrefix().
std::string base::StreamProc::fSubPrefixN [protected, inherited] |
sub-prefix for histogram names
Definition at line 114 of file StreamProc.h.
Referenced by base::StreamProc::MakeC1(), base::StreamProc::MakeH1(), base::StreamProc::MakeH2(), and base::StreamProc::SetSubPrefix().
bool base::StreamProc::fSyncFlag [protected, inherited] |
boolean, used in sync adjustment procedure
Definition at line 101 of file StreamProc.h.
Referenced by base::ProcMgr::AnalyzeSyncMarkers().
SyncMarksQueue base::StreamProc::fSyncs [protected, inherited] |
list of sync markers
Definition at line 99 of file StreamProc.h.
Referenced by base::StreamProc::AddSyncMarker(), base::StreamProc::eraseSyncAt(), base::StreamProc::getSync(), base::StreamProc::lastSync(), base::StreamProc::numSyncs(), base::StreamProc::ScanNewBuffersTm(), base::StreamProc::SkipAllData(), base::StreamProc::SkipBuffers(), and base::StreamProc::~StreamProc().
unsigned base::StreamProc::fSyncScanIndex [protected, inherited] |
sync scan index, use to adjust syncs over many processors
Definition at line 100 of file StreamProc.h.
Referenced by base::ProcMgr::AnalyzeSyncMarkers(), base::StreamProc::eraseSyncAt(), base::StreamProc::ScanNewBuffersTm(), base::StreamProc::SkipAllData(), and base::StreamProc::SkipBuffers().
unsigned base::SysCoreProc::fSyncSource [protected, inherited] |
board id, which will be used for the filling
Definition at line 20 of file SysCoreProc.h.
Referenced by FirstBufferScan(), get4::Processor::FirstBufferScan(), and base::SysCoreProc::SetSyncSource().
base::H1handle base::SysCoreProc::fSYNCt[2] [protected, inherited] |
histogram for AUX times
Definition at line 31 of file SysCoreProc.h.
Referenced by base::SysCoreProc::CreateBasicHistograms(), FirstBufferScan(), and get4::Processor::FirstBufferScan().
base::H1handle nx::Processor::fSysTypes [protected] |
histogram with messages kinds
Definition at line 49 of file Processor.h.
Referenced by FirstBufferScan(), and Processor().
bool base::StreamProc::fTimeSorting [protected, inherited] |
defines if time sorting should be used for the messages
Definition at line 110 of file StreamProc.h.
Referenced by base::StreamProc::IsTimeSorting(), and base::StreamProc::SetTimeSorting().
unsigned base::SysCoreProc::fTriggerSignal [protected, inherited] |
Definition at line 21 of file SysCoreProc.h.
Referenced by get4::Processor::doTriggerSelection(), base::SysCoreProc::doTriggerSelection(), FirstBufferScan(), get4::Processor::FirstBufferScan(), base::SysCoreProc::SetNoTriggerSignal(), and base::SysCoreProc::SetTriggerSignal().
base::H1handle base::StreamProc::fTriggerTm [protected, inherited] |
Definition at line 116 of file StreamProc.h.
Referenced by base::StreamProc::StreamProc(), and base::StreamProc::TestHitTime().
std::vector<nx::NxRec> nx::Processor::NX [protected] |
histogram with system types
Definition at line 51 of file Processor.h.
Referenced by FirstBufferScan(), nx_in_use(), Processor(), and SecondBufferScan().
base::C1handle base::StreamProc::triggerWindow [protected, inherited] |
histogram of event multiplicity
window used for data selection
Definition at line 119 of file StreamProc.h.
Referenced by base::StreamProc::DistributeTriggers(), base::StreamProc::ScanDataForNewTriggers(), base::StreamProc::SetTriggerWindow(), and base::StreamProc::StreamProc().