LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
SIOCollectionHandler.h
1 #ifndef SIO_SIOCOLLECTIONHANDLER_H
2 #define SIO_SIOCOLLECTIONHANDLER_H 1
3 
4 #include <string>
5 #include "EVENT/LCCollection.h"
6 #include "IOIMPL/LCEventIOImpl.h"
7 #include "Exceptions.h"
8 
9 #include "SIO_block.h"
10 
11 
12 namespace SIO {
13 
14  class SIOObjectHandler;
15 
22  class SIOCollectionHandler : public SIO_block{
23 
24  private:
25  SIOCollectionHandler() ; // no default c'tor
26 
27  public:
28 
34  SIOCollectionHandler(const std::string& name,
35  const std::string& type,
36  IOIMPL::LCEventIOImpl** anEvtP=0 )
37  throw (EVENT::Exception) ;
38 
39  virtual ~SIOCollectionHandler() ;
40 
41  const std::string &getTypeName() const;
42 
43  // interface from SIO_block
44  virtual unsigned int xfer( SIO_stream*, SIO_operation, unsigned int ) ;
45  virtual unsigned int version() ;
46 
47  void setCollection(const EVENT::LCCollection *col) ;
48  void setEvent(IOIMPL::LCEventIOImpl** anEvtP) ;
49 
50 
51  private:
52  IOIMPL::LCEventIOImpl** _evtP ; // adress of the event that data is read into
53  const EVENT::LCCollection *_col ; // for writing we use the data interface
54 
55  std::string _myType ;
56  SIOObjectHandler* _myHandler ;
57 
58  }; // class
59 
60 } // namespace
61 #endif /* ifndef SIO_SIOCOLLECTIONHANDLER_H */
Handler for LCCollection/LCCollectionIOVec objects for SIO.
Definition: SIOCollectionHandler.h:22
Base exception class for LCIO - all other exceptions extend this.
Definition: Exceptions.h:21
Interface for all lcio object SIO-handlers, has to be implemented for all event entities (hits...
Definition: SIOObjectHandler.h:21
Adding stuff needed for io (friend declarations, etc.)
Definition: LCEventIOImpl.h:22
The generic collection used in LCIO.
Definition: LCCollection.h:29