Commit in lcio/src on je20081114-nda
aid/IO/ILCFactory.aid+18-311.1.20.1 -> 1.1.20.2
      /LCReader.aid+91.13 -> 1.13.16.1
cpp/include/IOIMPL/LCFactory.h+14-131.2.18.1 -> 1.2.18.2
cpp/include/SIO/SIOReader.h+2-21.25.6.1 -> 1.25.6.2
cpp/src/EXAMPLE/anajob.cc-11.16.4.1 -> 1.16.4.2
               /dumpevent.cc+6-11.10 -> 1.10.4.1
cpp/src/IOIMPL/LCFactory.cc+3-31.2.18.1 -> 1.2.18.2
cpp/src/SIO/SIOReader.cc+2-21.51.4.1 -> 1.51.4.2
+54-53
8 modified files
introduced flag LCReader::directAccess for toggling direct access (creation of event map) when opening LCIO files - specify in LCFactory::createLCReader()

lcio/src/aid/IO
ILCFactory.aid 1.1.20.1 -> 1.1.20.2
diff -u -r1.1.20.1 -r1.1.20.2
--- ILCFactory.aid	14 Nov 2008 13:21:49 -0000	1.1.20.1
+++ ILCFactory.aid	9 Dec 2008 11:32:31 -0000	1.1.20.2
@@ -1,8 +1,7 @@
 package hep.lcio.io;
-@ifdef cpp
-@cpp{class LCReader;
-}
 
+@ifdef cpp
+@cpp{class LCReader; }
 
 /**Factory to create LCWriter and Reader object for the known data 
  * formats, e.g. SIO. The implementation (LCFactory) will be a singleton class 
@@ -13,32 +12,20 @@
  */
 public interface ILCFactory {
 
-
-//     /** Returns the instance of the factory.
-//      * In the future we need to specify the data format here...
-//      * This doesn't work for java as an interface can't have static members ...
-//      */
-    // this needs more thought ....
-// @ifdef cpp
-// @cpp{ static LCFactory* getInstance() ;  
-// }
-// @else
-//     public  LCFactory getInstance() ;
-// @endif
-
-
-/**Creates an LCWriter object for the current persistency type.
- */
-	public LCWriter* createLCWriter() ;
-	
-/**Creates an LCReader object for the current persistency type.
- */
-@ifdef cpp
-@cpp{
-    virtual LCReader * createLCReader(const bool) = 0;
-}
-@else
-    public  LCReader* createLCReader() ;
-@endif
-
+    /**Creates an LCWriter object for the current persistency type.
+     */
+    public LCWriter* createLCWriter() ;
+    
+    /**Creates an LCReader object for the current persistency type.
+     */
+    public  LCReader* createLCReader(int lcReaderFlag=0) ;
+    
+    // @ifdef cpp
+    // @cpp{
+    //     virtual LCReader * createLCReader(const bool) = 0;
+    // }
+    // @else
+    //     public  LCReader* createLCReader() ;
+    // @endif
+    
 }

lcio/src/aid/IO
LCReader.aid 1.13 -> 1.13.16.1
diff -u -r1.13 -r1.13.16.1
--- LCReader.aid	21 Oct 2005 13:53:19 -0000	1.13
+++ LCReader.aid	9 Dec 2008 11:32:31 -0000	1.13.16.1
@@ -11,6 +11,15 @@
  */
 public interface LCReader {
 
+    /** Configuration flags for the LCReader instance - to be used with LCFactory::createLCReader(). */
+@ifdef cpp
+@cpp{
+    static const int directAccess =  0x00000001 << 0  ;
+}@else
+    public static const int directAccess = 0x00000001  ;
+@endif
+
+
     /** Opens a file for reading (read-only).
      *
      * @throws IOException

lcio/src/cpp/include/IOIMPL
LCFactory.h 1.2.18.1 -> 1.2.18.2
diff -u -r1.2.18.1 -r1.2.18.2
--- LCFactory.h	14 Nov 2008 13:21:49 -0000	1.2.18.1
+++ LCFactory.h	9 Dec 2008 11:32:32 -0000	1.2.18.2
@@ -1,13 +1,6 @@
 // -*- C++ -*-
-/**Factory to create LCWriter and Reader object for the known data 
- * formats, e.g. SIO. Singleton class 
- * that knows all concrete reader/writer implementations.
- * 
- * @author gaede
- * @version Mar 10, 2003
- */
-#ifndef IOIMPL_LCFACTORY_H
-#define IOIMPL_LCFACTORY_H 1
+#ifndef IOIMPL_LCFactory_h
+#define IOIMPL_LCFactory_h 1
 
 
 #include "IO/ILCFactory.h"
@@ -16,6 +9,13 @@
 
 namespace IOIMPL {
 
+/**Factory to create LCWriter and Reader object for the known data 
+ * formats, e.g. SIO. Singleton class 
+ * that knows all concrete reader/writer implementations.
+ * 
+ * @author gaede
+ * @version Mar 10, 2003
+ */
 class LCFactory : public IO::ILCFactory {
 
 
@@ -38,10 +38,11 @@
    */
   virtual IO::LCWriter * createLCWriter() ;
   
-  /**Creates an LCReader object for the current persistency type.
+  /** Creates an LCReader object for the current persistency type.
+   * lcReaderFlag: configuration options for the LCReader object -
+   * combine multible options with '|'. So far only LCReader::directAccess.
    */
-  virtual IO::LCReader * createLCReader(
-  	const bool readEventMap=false ) ;
+  virtual IO::LCReader * createLCReader(int lcReaderFlag=0 ) ;
 
 
 private:
@@ -50,4 +51,4 @@
 
 }; // class
 } // namespace IOIMPL
-#endif /* ifndef IOIMPL_LCFACTORY_H */
+#endif /* ifndef IOIMPL_LCFactory_h */

lcio/src/cpp/include/SIO
SIOReader.h 1.25.6.1 -> 1.25.6.2
diff -u -r1.25.6.1 -r1.25.6.2
--- SIOReader.h	14 Nov 2008 13:21:49 -0000	1.25.6.1
+++ SIOReader.h	9 Dec 2008 11:32:32 -0000	1.25.6.2
@@ -24,7 +24,7 @@
 /** Concrete implementation of LCWriter using SIO.
  * 
  * @author gaede
- * @version $Id: SIOReader.h,v 1.25.6.1 2008/11/14 13:21:49 engels Exp $
+ * @version $Id: SIOReader.h,v 1.25.6.2 2008/12/09 11:32:32 gaede Exp $
  */
   class SIOReader : public IO::LCReader {
     
@@ -34,7 +34,7 @@
     
     /** Default constructor.
      */
-    SIOReader( const bool readEventMap=false ) ;
+    SIOReader( int lcReaderFlag=0 ) ;
     
     // Destructor
     virtual ~SIOReader() ;

lcio/src/cpp/src/EXAMPLE
anajob.cc 1.16.4.1 -> 1.16.4.2
diff -u -r1.16.4.1 -r1.16.4.2
--- anajob.cc	14 Nov 2008 13:21:49 -0000	1.16.4.1
+++ anajob.cc	9 Dec 2008 11:32:32 -0000	1.16.4.2
@@ -33,7 +33,6 @@
   int nFiles = argc-1 ;
   
   LCReader* lcReader = LCFactory::getInstance()->createLCReader() ;
-  //LCReader* lcReader = LCFactory::getInstance()->createLCReader(LCIO::READ_EVENT_MAP) ;
   
   // first we read the run information
   

lcio/src/cpp/src/EXAMPLE
dumpevent.cc 1.10 -> 1.10.4.1
diff -u -r1.10 -r1.10.4.1
--- dumpevent.cc	28 May 2008 14:02:09 -0000	1.10
+++ dumpevent.cc	9 Dec 2008 11:32:32 -0000	1.10.4.1
@@ -1,4 +1,5 @@
 #include "lcio.h"
+#include <stdio.h>
 
 #include "IO/LCReader.h"
 #include "IMPL/LCTOOLS.h"
@@ -67,7 +68,11 @@
   CellIDDecoder<CalorimeterHit>::setDefaultEncoding("M:3,S-1:3,I:9,J:9,K-1:6") ;
   CellIDDecoder<RawCalorimeterHit>::setDefaultEncoding("M:3,S-1:3,I:9,J:9,K-1:6") ;
 
-  LCReader* lcReader = LCFactory::getInstance()->createLCReader() ;
+  LCReader* lcReader ;
+  if ( getenv ("LCIO_DIRECT_ACCESS") !=0  )
+    lcReader = LCFactory::getInstance()->createLCReader(LCReader::directAccess) ;
+  else
+    lcReader = LCFactory::getInstance()->createLCReader() ;
   
   LCEvent* evt(0) ;
 

lcio/src/cpp/src/IOIMPL
LCFactory.cc 1.2.18.1 -> 1.2.18.2
diff -u -r1.2.18.1 -r1.2.18.2
--- LCFactory.cc	14 Nov 2008 13:21:50 -0000	1.2.18.1
+++ LCFactory.cc	9 Dec 2008 11:32:32 -0000	1.2.18.2
@@ -41,10 +41,10 @@
     return new SIOWriter ;
   }
   
-  LCReader * LCFactory::createLCReader(
-  		const bool readEventMap ) { 
+  LCReader * LCFactory::createLCReader(int lcReaderFlag) {
+
     // so far we just create SIO objects
-    return new SIOReader( readEventMap );
+    return new SIOReader( lcReaderFlag );
   }
   
   

lcio/src/cpp/src/SIO
SIOReader.cc 1.51.4.1 -> 1.51.4.2
diff -u -r1.51.4.1 -r1.51.4.2
--- SIOReader.cc	14 Nov 2008 13:21:50 -0000	1.51.4.1
+++ SIOReader.cc	9 Dec 2008 11:32:32 -0000	1.51.4.2
@@ -57,8 +57,8 @@
   
   //#define DEBUG 1
   
-  SIOReader::SIOReader( const bool readEventMap ) :
-        _readEventMap( readEventMap )
+  SIOReader::SIOReader( int lcReaderFlag ) :
+    _readEventMap( lcReaderFlag & LCReader::directAccess  )
     //     :     
     //     _myFilenames(0), 
     //     _currentFileIndex(0) 
CVSspam 0.2.8