Analysis Software
Documentation for sPHENIX simulation software
|
#include <online_distribution/blob/master/newbasic/Event.h>
Public Member Functions | |
virtual | ~Event () |
virtual unsigned int | getEvtLength ()=0 |
virtual int | getEvtType ()=0 |
virtual int | getEvtSequence ()=0 |
virtual int | getRunNumber ()=0 |
virtual void | identify (std::ostream &os=std::cout) const =0 |
virtual void | listFrame (const int=0, std::ostream &=std::cout) const |
virtual void | listHistory (const int=0, std::ostream &=std::cout) const |
virtual void | listError (const int=0, std::ostream &=std::cout) const |
virtual unsigned int | getFrameEntry (const char *, const int=0, const int=0) const |
virtual Packet * | getPacket (const int)=0 |
virtual Packet * | getPacket (const int, const int)=0 |
virtual int | getPacketList (Packet *[], const int)=0 |
virtual int | existPacket (const int)=0 |
virtual int | Copy (int *destination, const unsigned int, int *nw, const char *="")=0 |
virtual int | getErrorCode () |
virtual unsigned int | getTagWord (const int=0) const |
virtual int | is_pointer_type () const =0 |
virtual int | convert ()=0 |
virtual int | getDate ()=0 |
virtual time_t | getTime () const =0 |
This is the abstract Event class.
It defines all interfaces to deal with Event data. It is a pure virtual class which does not define any implementation details (it has only member function defintions, no data members). It is meant to be subclassed by the classes which define the actual implementation.
Definition at line 26 of file Event.h.
View newest version in sPHENIX GitHub at line 26 of file Event.h
|
inlinevirtual |
|
pure virtual |
converting the Event object means that the actual data it manages are copied to an internal location and are thus safe from being overwritten. For efficiency, most Event objects initially maintain a pointer to the external raw data only. They are referred to as being pointer-based. If an Event object has already been converted, a second convert operation has no effect.
Implemented in A_Event, and oncsEvent.
Referenced by eventReceiverClient::getEvent(), and testEventiterator::getNextEvent().
|
pure virtual |
the event's raw data are copied to destination. length is the size of destination, and nw is the number of words actually copied.
if what = "RAW" then we just copy the payload data without the event header.
Implemented in A_Event, and oncsEvent.
Referenced by prdfoStream::addEvent(), ospBuffer::addEvent(), ophBuffer::addEvent(), and main().
|
pure virtual |
existPacket returns 1 if such a packet exists in the event. 0 else.
Implemented in A_Event, and oncsEvent.
Referenced by TpcMon::process_event().
|
inlinevirtual |
getErrorCode() returns a non-zero error code if something in the event structure is wrong. Test for 0 to see that the event passes some consistency checks.
Reimplemented in A_Event.
Definition at line 153 of file Event.h.
View newest version in sPHENIX GitHub at line 153 of file Event.h
Referenced by process_event().
|
pure virtual |
getEvtLength() returns the length of the event raw data in longwords (32bit). If you want to copy the event somewhere, you can find out whether or not you have enough space left.
Implemented in A_Event, and oncsEvent.
Referenced by prdfoStream::addEvent(), ospBuffer::addEvent(), ophBuffer::addEvent(), oncsBuffer::getEvent(), main(), EventCombiner::process_event(), and process_event().
|
pure virtual |
getEvtSequence() returns the number of the event in a particular run. This number is a property of the event. Its run number and the sequence number uniquely indentify an event. It has nothing to do with the position of the event in any given data file.
Implemented in A_Event, and oncsEvent.
Referenced by hLabHelper::evDisplay(), EventLoop(), hcalHelper::evLoop(), tileHelper::evLoop(), SingleTpcPoolInput::FillPool(), SingleGl1PoolInput::FillPool(), SingleZdcInput::FillPool(), SingleMicromegasPoolInput::FillPool(), SingleInttPoolInput::FillPool(), SingleMvtxPoolInput::FillPool(), main(), process_event(), BbcMon::process_event(), HcalMon::process_event(), EventNumberCheck::process_event(), TpcRawDataTree::process_event(), TPCRawDataTree::process_event(), Fun4AllPrdfInputManager::PushBackEvents(), Fun4AllPrdfInputManager::run(), odd_filter::select(), Fun4AllEventOutStream::WriteEvent(), Fun4AllFileOutStream::WriteEventOut(), and Fun4AllRolloverFileOutStream::WriteEventOut().
|
pure virtual |
getEvtType() returns the type of the event. Most of the events have the type DATAEVENT, but there are also BEGRUNEVENT, SPILLONEVENT, SPILLOFFEVENT, ENDRUNEVENT, and so on.
Implemented in A_Event, and oncsEvent.
Referenced by hLabHelper::evDisplay(), hcalHelper::evLoop(), tileHelper::evLoop(), SingleTpcPoolInput::FillPool(), SingleGl1PoolInput::FillPool(), SingleMicromegasPoolInput::FillPool(), SingleZdcInput::FillPool(), SingleInttPoolInput::FillPool(), SingleMvtxPoolInput::FillPool(), SinglePrdfInput::FillPool(), main(), process_event(), HeadReco::process_event(), BbcMon::process_event(), PktSizeMon::process_event(), GenericUnpackPRDF::process_event(), HcalMon::process_event(), CaloUnpackPRDF::process_event(), TemplateCreation::process_event(), TpotMon::process_event(), TpcMon::process_event(), TPCPedestalCalibration::process_event(), CaloTowerBuilder::process_event(), LEDTowerBuilder::process_event(), MvtxPrototype2UnpackPRDF::process_event(), MvtxUnpackPRDF::process_event(), TpcRawDataTree::process_event(), TPCRawDataTree::process_event(), tpc_hits::process_event(), TpcRawDataDecoder::process_event(), and Fun4AllEventOutStream::WriteEvent().
|
inlinevirtual |
getFrameEntry will return a particular entry from the frame header which contains the packet with the specidied id. If id == 0, the first frame will be selected.
keywords to return are:
FRAMELENGTH FRAMEMARK FRAMEHDRVERSION FRAMEHDRLENGTH FRAMESTATUS FRAMESOURCEID FRAMEDATATYPE FRAMETYPE FRAMEALIGNLENGTH FRAMEALIGNMENTWORD[index]
The last FRAMEALIGNMENTWORD is an array, you need to call getFrameEntry(id,"FRAMEALIGNMENTWORD",1) to get the index 1, and so on. Asking for a word beyond the number of such words will return 0.
Reimplemented in A_Event.
Definition at line 105 of file Event.h.
View newest version in sPHENIX GitHub at line 105 of file Event.h
|
pure virtual |
getPacket creates and returns a pointer to the packet object with the specified packet id (think of it as a house number).
Implemented in A_Event, and oncsEvent.
Referenced by hLabHelper::evDisplay(), hcalHelper::evLoop(), tileHelper::evLoop(), SingleGl1PoolInput::FillPool(), TPCFEETestRecov1::get_motor_loc(), ll1setup(), main(), MvtxPrototype2UnpackPRDF::MakeHits(), MvtxUnpackPRDF::MakeHits(), process_event(), LL1Mon::process_event(), BbcMon::process_event(), GenericUnpackPRDF::process_event(), SepdMon::process_event(), CemcMon::process_event(), HcalMon::process_event(), CaloUnpackPRDF::process_event(), ZdcMon::process_event(), TemplateCreation::process_event(), TpotMon::process_event(), InttRawDataDecoder::process_event(), TpcMon::process_event(), TPCPedestalCalibration::process_event(), CaloTowerBuilder::process_event(), InttRawDataConverter::process_event(), LEDTowerBuilder::process_event(), MvtxMon::process_event(), InttMon::process_event(), TPCRawDataTree::process_event(), TpcRawDataTree::process_event(), tpc_hits::process_event(), and TpcRawDataDecoder::process_event().
|
pure virtual |
|
pure virtual |
getPacketList returns a simple-minded array of pointers to the packets in the given event. It returns the number of packets returned in the array. The second parameter tells the packet how long the array is.
Implemented in A_Event, and oncsEvent.
Referenced by SingleTpcPoolInput::FillPool(), SingleZdcInput::FillPool(), SingleMicromegasPoolInput::FillPool(), SingleInttPoolInput::FillPool(), SingleMvtxPoolInput::FillPool(), SinglePrdfInput::FillPool(), main(), PktSizeMon::process_event(), EventNumberCheck::process_event(), MvtxMon::process_event(), and Fun4AllEventOutStream::WriteEvent().
|
pure virtual |
getRunNumber() returns the number of the run to which this event belongs.
Implemented in A_Event, and oncsEvent.
Referenced by prdfoStream::addEvent(), ospBuffer::addEvent(), ophBuffer::addEvent(), EventLoop(), SingleTpcPoolInput::FillPool(), SingleGl1PoolInput::FillPool(), SingleMicromegasPoolInput::FillPool(), SingleZdcInput::FillPool(), SingleInttPoolInput::FillPool(), SingleMvtxPoolInput::FillPool(), SinglePrdfInput::FillPool(), ll1setup(), process_event(), Fun4AllPrdfInputManager::run(), Fun4AllEventOutStream::WriteEvent(), Fun4AllFileOutStream::WriteEventOut(), and Fun4AllRolloverFileOutStream::WriteEventOut().
|
inlinevirtual |
getTagWord() returns the bit pattern that the event builder may have put into the header for fast event selection purposes. This is mainly used by the ET system to distribute events based on its properties.
Reimplemented in A_Event.
Definition at line 161 of file Event.h.
View newest version in sPHENIX GitHub at line 161 of file Event.h
|
pure virtual |
Implemented in A_Event, and oncsEvent.
Referenced by process_event().
|
pure virtual |
identify will write a short identification message to standard output or to the ostream provided.
Implemented in A_Event, and oncsEvent.
Referenced by EventLoop(), SingleTpcPoolInput::FillPool(), SingleGl1PoolInput::FillPool(), SingleZdcInput::FillPool(), SingleMicromegasPoolInput::FillPool(), SingleInttPoolInput::FillPool(), SinglePrdfInput::FillPool(), SingleMvtxPoolInput::FillPool(), eventReceiverClient::getEvent(), main(), pprocess(), GenericUnpackPRDF::process_event(), CaloUnpackPRDF::process_event(), EventNumberCheck::process_event(), prun(), and Fun4AllPrdfInputPoolManager::run().
|
inlinevirtual |
|
inlinevirtual |
listFrame will write a short descriptor of the frame header to the output stream provided. If id == 0, it will list all frame headers. Otherwise it will list the header of the frame in which the packet with id resides.
Definition at line 78 of file Event.h.
View newest version in sPHENIX GitHub at line 78 of file Event.h
Referenced by main().
|
inlinevirtual |