|
| SysCoreProc (const char *name, unsigned brdid, OpticSplitter *spl=0) |
| constructor
|
|
virtual | ~SysCoreProc () |
| destructor
|
|
void | SetSyncSource (unsigned id) |
| 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.
|
|
void | SetNoSyncSource () |
| This declares that local time stamp will be used. More...
|
|
void | SetTriggerSignal (unsigned id) |
| Set signal kind which should be used for data selection Values 0..3 are for AUX0 - AUX3 Values 10,11 are for SYNC0, SYNC1 Other values can be used in derived classed.
|
|
void | SetNoTriggerSignal () |
| Disable any trigger generation.
|
|
void | SetPrint (int nummsg, double left=-1., double right=-1.) |
| 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)
|
|
virtual | ~StreamProc () |
| destructor
|
|
void | SetTimeSorting (bool on) |
| Enable/disable time sorting of data in output event.
|
|
bool | IsTimeSorting () const |
| Is time sorting enabled.
|
|
void | SetTriggerMargin (double margin=0.) |
| Set minimal distance between two triggers.
|
|
void | CreateTriggerHist (unsigned multipl=40, unsigned nbins=2500, double left=-1e-6, double right=4e-6) |
| create histograms for triggers
|
|
virtual void | SetTriggerWindow (double left, double right) |
| Set window relative to some reference signal, which will be used as region-of-interest interval to select messages from the stream.
|
|
void | SetRawScanOnly () |
| Method set raw-scan only mode for processor Processor will not be used for any data selection.
|
|
bool | IsRawScanOnly () const |
| Is only raw scan will be performed.
|
|
bool | IsRawAnalysis () const |
| Is raw analysis only.
|
|
bool | IsTriggeredAnalysis () const |
| Is triggered events analysis.
|
|
bool | IsStreamAnalysis () const |
| Is full stream analysis.
|
|
bool | IsSynchronisationRequired () const |
| Method indicate if any kind of time-synchronization technique should be applied for the processor. More...
|
|
unsigned | minNumSyncRequired () const |
| Returns minimal number of syncs required for time synchronisation.
|
|
virtual bool | AddNextBuffer (const Buffer &buf) |
| Provide next port of data to the processor. More...
|
|
virtual bool | ScanNewBuffers () |
| Scanning all new buffers in the queue. More...
|
|
virtual bool | ScanNewBuffersTm () |
| With new calibration set (where possible) time of buffers. More...
|
|
virtual void | SkipAllData () |
| Method to remove all buffers, all triggers and so on. More...
|
|
virtual bool | SkipBuffers (unsigned cnt) |
| Force processor to skip buffers from input. More...
|
|
unsigned | numSyncs () const |
| Returns total number of sync markers.
|
|
unsigned | numReadySyncs () const |
| Returns number of read sync markers.
|
|
SyncMarker & | getSync (unsigned n) |
| Returns sync marker.
|
|
unsigned | findSyncWithId (unsigned syncid) const |
| find sync marker
|
|
virtual bool | CollectTriggers (GlobalMarksQueue &queue) |
| Method to deliver detected triggers from processor to central manager. More...
|
|
virtual bool | DistributeTriggers (const GlobalMarksQueue &queue) |
| This is method to get back identified triggers from central manager. More...
|
|
virtual bool | ScanDataForNewTriggers () |
| Here each processor should scan data again for new triggers Method made virtual while some subprocessors will do it in connection with others. More...
|
|
unsigned | NumReadySubevents () const |
| Returns number of already build events.
|
|
virtual bool | AppendSubevent (base::Event *evt) |
| Append data for first trigger to the main event. More...
|
|
virtual bool | FirstBufferScan (const base::Buffer &) |
| Central method to scan new data in the queue This should include: More...
|
|
virtual bool | SecondBufferScan (const base::Buffer &) |
| Second generic scan of buffer Here selection of data for region-of-interest should be performed.
|
|
virtual void | Store (Event *) |
| Generic method to store processor data, In case of ROOT one should copy event data in temporary structures, which are mapped to the branch.
|
|
virtual void | ResetStore () |
| Generic method to store processor data, In case of ROOT one should copy event data in temporary structures, which are mapped to the branch.
|
|
virtual | ~Processor () |
| destructor
|
|
ProcMgr * | mgr () const |
| Return manager instance.
|
|
const char * | GetName () const |
| Get processor name.
|
|
unsigned | GetID () const |
| Get processor ID.
|
|
void | SetHistFilling (int lvl=99) |
| Set histogram filling level.
|
|
bool | IsHistFilling () const |
| Is histogram filling enabled.
|
|
int | HistFillLevel () const |
| Get histogram filling level.
|
|
unsigned | GetStoreKind () const |
| Get store kind.
|
|
bool | IsStoreEnabled () const |
| Is store enabled.
|
|
virtual void | SetStoreKind (unsigned kind=1) |
| Set store kind.
|
|
void | SetStoreEnabled (bool on=true) |
| Enable store - set store kind 1.
|
|
virtual void | UserPreLoop () |
| pre loop
|
|
virtual void | UserPostLoop () |
| post loop
|
|
|
virtual bool | doTriggerSelection () const |
| Returns true when processor used to select trigger signal In subclass one could have alternative ways of trigger or ROI selections.
|
|
void | CreateBasicHistograms () |
| create basic histograms
|
|
void | FillMsgPerBrdHist (unsigned cnt) |
| fill histogram
|
|
bool | CheckPrint (double msgtm, double safetymargin=1e-6) |
| check print
|
|
| StreamProc (const char *name="", unsigned brdid=DummyBrdId, bool basehist=true) |
| Make constructor protected - no way to create base class instance. More...
|
|
void | SetSynchronisationKind (SyncKind kind=sync_Inter) |
| Method indicate if any kind of time-synchronization technique should be applied for the processor. More...
|
|
void | AddSyncMarker (SyncMarker &marker) |
| add sync marker
|
|
bool | AddTriggerMarker (LocalTimeMarker &marker, double tm_range=0.) |
| Add new local trigger. More...
|
|
GlobalTime_t | LocalToGlobalTime (GlobalTime_t localtm, unsigned *sync_index=0) |
| Method converts local time (in ns representation) to global time. More...
|
|
bool | IsSyncIndexWithInterpolation (unsigned indx) const |
| Method return true when sync_index is means interpolation of time.
|
|
virtual GlobalTime_t | ProvidePotentialFlushTime (GlobalTime_t last_marker) |
| Method should return time, which could be flushed from the processor. More...
|
|
bool | VerifyFlushTime (const base::GlobalTime_t &flush_time) |
| Method must ensure that processor scanned such time and can really skip this data. More...
|
|
virtual double | MaximumDisorderTm () const |
| Time constant, defines how far disorder of messages can go.
|
|
unsigned | TestHitTime (const base::GlobalTime_t &hittime, bool normal_hit, bool can_close_event=true) |
| Method decides to which trigger window belong hit normal_hit - indicates that time is belong to data, which than can be assigned to output can_close_event - when true, hit time can be used to decide that event is ready. More...
|
|
template<class EventClass , class MessageClass > |
void | AddMessage (unsigned indx, EventClass *ev, const MessageClass &msg) |
| add new message to event
|
|
bool | eraseSyncAt (unsigned indx) |
| Removes sync at specified position. More...
|
|
bool | eraseFirstSyncs (unsigned sync_num) |
| Remove specified number of syncs. More...
|
|
| Processor (const char *name="", unsigned brdid=DummyBrdId) |
| Make constructor protected - no way to create base class instance. More...
|
|
void | SetBoardId (unsigned id) |
| Set board id.
|
|
void | SetPathPrefix (const std::string &prefix) |
| Set path prefix for histogramsid.
|
|
void | SetSubPrefix (const char *subname="", int indx=-1, const char *subname2="", int indx2=-1) |
| Set subprefix for histograms and conditions. More...
|
|
void | SetSubPrefix2 (const char *subname="", int indx=-1, const char *subname2="", int indx2=-1) |
| Set subprefix for histograms and conditions, index uses 2 symbols. More...
|
|
H1handle | MakeH1 (const char *name, const char *title, int nbins, double left, double right, const char *xtitle=0) |
| Adds processor prefix to histogram name and calls base::ProcMgr::MakeH1 method.
|
|
void | FillH1 (H1handle h1, double x, double weight=1.) |
| Fill 1-D histogram.
|
|
void | FastFillH1 (H1handle h1, int x, double weight=1.) |
| Fast fill 1-D histogram. More...
|
|
double | GetH1Content (H1handle h1, int nbin) |
| Get bin content of 1-D histogram.
|
|
void | SetH1Content (H1handle h1, int nbin, double v=0.) |
| Set bin content of 1-D histogram.
|
|
int | GetH1NBins (H1handle h1) |
| Get bins numbers for 1-D histogram.
|
|
void | ClearH1 (H1handle h1) |
| Clear 1-D histogram.
|
|
void | CopyH1 (H1handle tgt, H1handle src) |
| Copy 1-D histogram from src to tgt.
|
|
void | SetH1Title (H1handle h1, const char *title) |
| Set 1-D histogram title.
|
|
H2handle | MakeH2 (const char *name, const char *title, int nbins1, double left1, double right1, int nbins2, double left2, double right2, const char *options=0) |
| Adds processor prefix to histogram name and calls base::ProcMgr::MakeH2 method.
|
|
void | FillH2 (H1handle h2, double x, double y, double weight=1.) |
| Fill 2-D histogram.
|
|
void | FastFillH2 (H1handle h2, int x, int y) |
| Fast fill 2-D histogram. More...
|
|
void | SetH2Content (H2handle h2, int nbin1, int nbin2, double v=0.) |
| Set bin content of 2-D histogram.
|
|
double | GetH2Content (H2handle h2, int bin1, int bin2) |
| Get bin content of 2-D histogram.
|
|
bool | GetH2NBins (H2handle h2, int &nBins1, int &nBins2) |
| Get number of bins for 2-D histogram.
|
|
void | ClearH2 (base::H2handle h2) |
| Clear 2-D histogram.
|
|
void | SetH2Title (H2handle h2, const char *title) |
| Change title of 2-D histogram.
|
|
C1handle | MakeC1 (const char *name, double left, double right, H1handle h1=0) |
| Create condition.
|
|
void | ChangeC1 (C1handle c1, double left, double right) |
| Change condition limits.
|
|
int | TestC1 (C1handle c1, double value, double *dist=0) |
| Test condition.
|
|
double | GetC1Limit (C1handle c1, bool isleft=true) |
| Get condition limit.
|
|
virtual void | CreateBranch (TTree *) |
| Create branch.
|
|
virtual bool | RegisterObject (TObject *tobj, const char *subfolder=0) |
| Register object.
|
|
|
unsigned | fSyncSource |
| 0,1: SYNC0,1 used for synchronization, >=2: local time used for time stamp
|
|
unsigned | fTriggerSignal |
| 0 .. 3 is AUXs, 10-11 is SYNCs
|
|
int | fNumPrintMessages |
| ! number of messages to be printed
|
|
double | fPrintLeft |
| ! left border to start printing
|
|
double | fPrintRight |
| ! right border to stop printing
|
|
bool | fAnyPrinted |
| ! true when any message was printed
|
|
base::H1handle | fMsgPerBrd |
| ! common histogram for all boards with similar prefix
|
|
base::H1handle | fALLt |
| ! histogram for all messages times
|
|
base::H1handle | fHITt |
| ! histogram for hit messages only
|
|
base::H1handle | fAUXt [4] |
| ! histogram for AUX times
|
|
base::H1handle | fSYNCt [2] |
| ! histogram for SYNC times
|
|
Buffer | fSplitBuf |
| ! temporary buffer for splitting
|
|
uint64_t * | fSplitPtr |
| ! current position for split data
|
|
BuffersQueue | fQueue |
| ! buffers queue
|
|
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
|
|
AnalysisKind | fAnalysisKind |
| defines that processor is doing
|
|
SyncKind | fSynchronisationKind |
| kind of synchronization
|
|
SyncMarksQueue | fSyncs |
| list of sync markers
|
|
unsigned | fSyncScanIndex |
| sync scan index, indicate number of syncs which can really be used for synchronization
|
|
bool | fSyncFlag |
| boolean, used in sync adjustment procedure
|
|
LocalMarkersQueue | fLocalMarks |
| queue with local markers
|
|
double | fTriggerAcceptMaring |
| time margin (in local time) to accept new trigger
|
|
GlobalTime_t | fLastLocalTriggerTm |
| time of last local trigger
|
|
GlobalMarksQueue | fGlobalMarks |
| 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
|
|
base::H1handle | fTriggerTm |
| ! histogram with time relative to the trigger
|
|
base::H1handle | fMultipl |
| ! histogram of event multiplicity
|
|
base::C1handle | fTriggerWindow |
| window used for data selection
|
|
std::string | fName |
| processor name, used for event naming
|
|
unsigned | fID |
| identifier, used mostly for debugging
|
|
ProcMgr * | fMgr |
| direct pointer on manager
|
|
std::string | fPathPrefix |
| histogram path prefix, used for histogram folder name
|
|
std::string | fPrefix |
| prefix, used for histogram names
|
|
std::string | fSubPrefixD |
| sub-prefix for histogram directory
|
|
std::string | fSubPrefixN |
| sub-prefix for histogram names
|
|
int | fHistFilling |
| level of histogram filling
|
|
unsigned | fStoreKind |
| if >0, store will be enabled for processor
|
|
bool | fIntHistFormat |
| if true, internal histogram format is used
|
|
SysCoreProc is base class for many processors of data, provided by SysCore2/3 boards.
Main idea is to collect common settings/methods for SysCore variants like: nXYTER, GET4, Spadic1 and probably STS-XYTER Main common part is 250 MHz clock and SYNC/AUX messages which could be used for time synchronization.