]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTMessage.h
added new helper components to libAliHLTUtil (EsdCollector and AliHLTOUTPublisher...
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTMessage.h
index a3754a36c5b45c19ebc60e10687dc733987d0ce9..90a89001a22c37348626777da214d4fa27d4c4ad 100644 (file)
  * chain.
  * This is the original Root TMessage implementation with a few minor
  * modifications.
- * - the AliHLTMessage(void *buf, Int_t bufsize) constructor has been made
- *   public in order to be used externally.
+ * - the <tt> AliHLTMessage(void *buf, Int_t bufsize)</tt> constructor has been
+ *   made public in order to be used externally.
+ *
+ * The class can be used to extract an object from an input data block, or a
+ * data block received via the HOMER interface or from the file writer.
+ * <pre>
+ *  AliHLTMessage msg(buffer, size);
+ *  TObject* pObj=msg.ReadObject(msg.GetClass());
+ * </pre>
+ *
+ * A simple test macro for a file can look like
+ * <pre>
+ *  const char* filename="TPC_804.ddl";
+ *  //const char* filename="TPC_768.ddl";
+ *  TString param=filename;
+ *  param+="?filetype=raw";
+ *  TFile file(param);
+ *  if (file.IsZombie()) {
+ *    cout << "can not open file " << filename << endl;
+ *    return;
+ *  }
+ *  
+ *  TArrayC buffer(file.GetSize());
+ *  TArrayC tgtbuffer(file.GetSize());
+ *  if (file.ReadBuffer(buffer.GetArray(), buffer.GetSize())) {
+ *    cout << "error reading file " << filename << endl;
+ *    return;
+ *  }
+ *
+ *  AliHLTMessage msg(buffer.GetArray(), buffer.GetSize());
+ *  TObject* pObj=msg.ReadObject(msg.GetClass());
+ * </pre>
+ *
+ * @see AliHLTRootFileWriterComponent for an easy way to save objects
+ * exported via AliHLTMessage in a ROOT file.
  */
 class AliHLTMessage 
 :