LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
SIORunHeaderHandler.h
1 #ifndef SIO_SIORUNHEADERHANDLER_H
2 #define SIO_SIORUNHEADERHANDLER_H 1
3 
4 #include <string>
5 
6 #include "EVENT/LCRunHeader.h"
7 #include "IOIMPL/LCRunHeaderIOImpl.h"
8 
9 #include "SIO_block.h"
10 
11 namespace SIO {
12 
13 
20  class SIORunHeaderHandler : public SIO_block{
21 
22  protected:
23  SIORunHeaderHandler() : SIO_block("UNKNOWN") { /* no default c'tor*/ ;}
24 
25  public:
26 
29  SIORunHeaderHandler(const std::string& name) ;
32  SIORunHeaderHandler(const std::string& name, IOIMPL::LCRunHeaderIOImpl** rhP) ;
33  virtual ~SIORunHeaderHandler() ;
34 
35  // interface from SIO_block
36  virtual unsigned int xfer( SIO_stream*, SIO_operation, unsigned int ) ;
37  virtual unsigned int version() ;
38 
39  void setRunHeader(const EVENT::LCRunHeader* hdr ) ;
40  void setRunHeaderPtr(IOIMPL::LCRunHeaderIOImpl** hdrP ) ;
41 
42  private:
43  IOIMPL::LCRunHeaderIOImpl** _rhP ; // address for reading
44  const EVENT::LCRunHeader* _hdr ; // runheader for writing
45 
46  }; // class
47 
48 } // namespace
49 
50 #endif /* ifndef SIO_SIORUNHEADERHANDLER_H */
Adding stuff needed for io (friend declarations, etc.)
Definition: LCRunHeaderIOImpl.h:22
Interface for the run header.
Definition: LCRunHeader.h:23
Handler for LCRunHeader/LCRunHeaderImpl objects.
Definition: SIORunHeaderHandler.h:20