Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:09

0001 // -*- C++ -*-
0002 // AID-GENERATED
0003 // =========================================================================
0004 // This class was generated by AID - Abstract Interface Definition          
0005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
0006 // =========================================================================
0007 #ifndef AIDA_ITREEFACTORY_H
0008 #define AIDA_ITREEFACTORY_H 1
0009 
0010 //  This file is part of the AIDA library
0011 //  Copyright (C) 2002 by the AIDA team.  All rights reserved.
0012 //  This library is free software and under the terms of the
0013 //  GNU Library General Public License described in the LGPL.txt 
0014 
0015 #include <string>
0016 
0017 namespace AIDA {
0018 
0019 class ITree;
0020 
0021 /**
0022  * The creator of trees.
0023  *
0024  * @author The AIDA team (http://aida.freehep.org/)
0025  */
0026  
0027 class ITreeFactory {
0028 
0029 public: 
0030     /// Destructor.
0031     virtual ~ITreeFactory() { /* nop */; }
0032 
0033     /**
0034      * Creates a new tree that is not associated with a store.
0035      */
0036     virtual ITree * create() = 0;
0037 
0038     /**
0039      * Creates a new tree and associates it with a store.
0040      * The store is assumed to be read/write.
0041      * The store will be created if it does not exist.
0042      * @param storeName The name of the store, if empty (""), the tree is created
0043      *                  in memory and therefore will not be associated with a file.
0044      * @param storeType Implementation specific string, may control store type
0045      * @param readOnly If true the store is opened readonly, an exception if it does not exist
0046      * @param createNew If false the file must exist, if true the file will be created
0047      * @param options Other options, currently are not specified
0048      *
0049      */
0050     virtual ITree * create(const std::string & storeName, const std::string & storeType = "", bool readOnly = false, bool createNew = false, const std::string & options = "") = 0;
0051 }; // class
0052 } // namespace AIDA
0053 #endif /* ifndef AIDA_ITREEFACTORY_H */