LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
SIOEventHandler.h
1 #ifndef SIO_SIOEVENTHANDLER_H
2 #define SIO_SIOEVENTHANDLER_H 1
3 
4 #include <string>
5 
6 #include "EVENT/LCEvent.h"
7 #include "IOIMPL/LCEventIOImpl.h"
8 
9 #include "SIO_block.h"
10 
11 namespace SIO {
12 
13 
19  class SIOEventHandler : public SIO_block{
20 
21  protected:
22  SIOEventHandler() : SIO_block("UNKNOWN") { /* no default c'tor*/ ;}
23 
24  public:
25 
26  SIOEventHandler(const std::string& name) ;
27  SIOEventHandler(const std::string& name, IOIMPL::LCEventIOImpl** evtP) ;
28  virtual ~SIOEventHandler() ;
29 
30  // interface from SIO_block
31  virtual unsigned int xfer( SIO_stream*, SIO_operation, unsigned int ) ;
32  virtual unsigned int version() ;
33 
34  void setEvent(const EVENT::LCEvent* evt ) ;
35  void setEventPtr( IOIMPL::LCEventIOImpl** evtP ) ;
36 
37  void setReadCollectionNames(const std::vector<std::string>& colnames) ;
38 
39  private:
40  // event implementation for reading
41  IOIMPL::LCEventIOImpl **_evtP ;
42  // event data interface for writing
43  const EVENT::LCEvent *_evt ;
44 
45  std::set< std::string > _colSubSet ;
46 
47  }; // class
48 
49 } // namespace
50 
51 #endif /* ifndef SIO_SIOEVENTHANDLER_H */
Handler for LCEvent/LCEventIOImpl objects.
Definition: SIOEventHandler.h:19
Adding stuff needed for io (friend declarations, etc.)
Definition: LCEventIOImpl.h:22
The main event interface.
Definition: LCEvent.h:30