This file is property of and copyright by the
ALICE Experiment at CERN, All rights reserved.
Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>
for The ALICE HLT Project.
Permission to use, copy, modify and distribute this software and its
documentation strictly for non-commercial purposes is hereby granted
without fee, provided that the above copyright notice appears in all
copies and that both the copyright notice and this permission notice
appear in the supporting documentation. The authors make no claims
about the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.
int | AddBlockDescriptor(const AliHLTOUT::AliHLTOUTBlockDescriptor desc) |
bool | BeVerbose() const |
void | Print(const char* option = "") const |
void | SetEventId(AliHLTUInt64_t id) |
void | SwitchVerbosity(bool verbose) |
virtual int | CheckBlockAlignment(AliHLTUInt32_t index, AliHLTOUT::AliHLTOUTDataType type) |
virtual AliHLTOUT::AliHLTOUTByteOrder | CheckBlockByteOrder(AliHLTUInt32_t index) |
int | CheckStatusFlag(unsigned int flag) const |
unsigned int | ClearStatusFlag(unsigned int flag) |
int | FindAndSelectDataBlock() |
const AliHLTOUT::AliHLTOUTHandlerListEntry& | FindHandlerDesc(AliHLTUInt32_t blockIndex) |
virtual int | GenerateIndex() |
virtual int | GetDataBuffer(AliHLTUInt32_t index, const AliHLTUInt8_t*& pBuffer, AliHLTUInt32_t& size) |
int | InitHandlers() |
AliHLTOUT& | operator=(const AliHLTOUT&) |
virtual int | ResetInput() |
virtual void | SetParam(AliRawReader* pRawReader) |
virtual void | SetParam(TTree* pDigitTree, int event = -1) |
virtual void | SetParam(const char* filename, int event = -1) |
unsigned int | SetStatusFlag(unsigned int flag) |
vector<AliHLTOUT::AliHLTOUTBlockDescriptor,allocator<AliHLTOUT::AliHLTOUTBlockDescriptor> > | fBlockDescList | !transient |
unsigned int | fCurrent | !transient |
AliHLTUInt64_t | fCurrentEventId | ! |
vector<AliHLTOUT::AliHLTOUTHandlerListEntry,allocator<AliHLTOUT::AliHLTOUTHandlerListEntry> > | fDataHandlers | !transient |
unsigned int | fFlags | !transient |
AliHLTLogging | fLog | ! transient |
AliHLTUInt32_t | fObjectBufferSize | ! |
AliHLTComponentDataType | fSearchDataType | !transient |
AliHLTModuleAgent::AliHLTOUTHandlerType | fSearchHandlerType | !transient |
AliHLTUInt32_t | fSearchSpecification | !transient |
bool | fbVerbose | !transient |
static AliHLTOUT* | fgGlobalInstance | ! transient |
unsigned char* | fpBuffer | !transient |
TObject* | fpDataObject | ! |
unsigned char* | fpObjectBuffer | ! |
Inheritance Chart: | ||||||||||||
|
select the first data block according to data type, specification and handler type
select next data block according to selection criteria specified for SelectFirstDataBlock
Select data block according to data type and specification, internal function invoked by SelectFirstDataBlock/SelectNextDataBlock
fill data type and specification
Get handler type of the selected data block.
fill block data descriptor and select the current data buffer buffer has to be released using ReleaseDataBuffer
select and return the current data buffer buffer has to be released using ReleaseDataBuffer
release data buffer, previously returned by GetDataBuffer
default function, child must overload
check alignment of the current data block NOTE: this functionality has not been tested and development was hardly finished
insert handler into list, called from child implementations
fill a list according to specified handler type
remove empty handlers from list
find handler according to descriptor
invalidate all handlers in a list
transparently create HLTOUT implementation for AliRawReader
transparently create HLTOUT implementation for digit tree
transparently create HLTOUT implementation for raw file
delete the HLTOUT instance check if the library is still there in order to have the destructor available
see header file for class documentation default implementation, we should never get here this function can only be called from the class itsself and is intended to be used with the New functions. If we get into the default implementation there is a class mismatch.
see header file for class documentation default implementation, we should never get here this function can only be called from the class itsself and is intended to be used with the New functions. If we get into the default implementation there is a class mismatch.
see header file for class documentation default implementation, we should never get here this function can only be called from the class itsself and is intended to be used with the New functions. If we get into the default implementation there is a class mismatch.
mark all data blocks served by specified handler for processing
enable block selection, in this mode only the blocks marked for processing can be accessed
mark all data blocks served by handler as processed
add a sub-collection to the HLTOUT instance all blocks of the sub-collection are accessed transparently through the master instance
release a ROOT object previously expanded from the currentr data block
* Get the global instance. * The global instance is set temporarily by the AliHLTOUTGlobalInstanceGuard * mainly for the sake of data input to an analysis chain. The * AliHLTOUTPublisherComponent objects can access the global instance.
{return fgGlobalInstance;}
* Get the data buffer * @param [out] pBuffer buffer of the selected data block * @param [out] size size of the selected data block
* Get handler description of the current data block.
* Generate the index of the HLTOUT data. * Must be implemented by the child classes.
* Check alignment of data block
* Set status flag. * @param flag flag to set * @return current status flags
{return fFlags|=flag;}
* Clear status flag. * @param flag flag to clear * @return current status flags
{return fFlags&=~flag;}
* Check status flag. * @param flag flag to check * @return 1 if flag is set
{return (fFlags&flag)==flag;}
* Find handler description for a certain block index.