*/
void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
- protected:
+ /**
+ * @class AliSpecialEventGuard
+ * Guard structure to set the data sources into 'special event publishing'
+ * mode. The SOR and EOR events are generated by all the data sources and
+ * perculated through the chain as normal events. The AliSpecialEventGuard
+ * is a back-door mechansim to trigger publishing of the special event
+ * described by the run descriptor instead of the publishing of real data.
+ *
+ * The descriptor has to be valid throughout the lifetime of the guard.
+ */
+ class AliSpecialEventGuard {
+ public:
+ /** constructor, set run descriptor */
+ AliSpecialEventGuard(AliHLTRunDesc* pDesc, AliHLTComponentDataType dt, AliHLTUInt32_t spec);
+ /** destructor, reset run descriptor */
+ ~AliSpecialEventGuard();
+ };
+
+protected:
/**
* The low-level data processing method for the component.
*/
virtual int GetEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
- ClassDef(AliHLTDataSource, 1)
+private:
+ /** pointer to the special event going to be published */
+ static void* fgpSpecialEvent; //! transient
+ /** data size of the special event going to be published */
+ static int fgSpecialEventSize; //! transient
+ /** data type of the special event going to be published */
+ static AliHLTComponentDataType fgSpecialEventDataType; //! transient
+ /** data specification of the special event going to be published */
+ static AliHLTUInt32_t fgSpecialEventSpecification; //! transient
+
+ ClassDef(AliHLTDataSource, 2)
};
#endif