Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

LCParameters.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 // AID-GENERATED
00003 // =========================================================================
00004 // This class was generated by AID - Abstract Interface Definition          
00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
00006 // =========================================================================
00007 #ifndef EVENT_LCPARAMETERS_H
00008 #define EVENT_LCPARAMETERS_H 1
00009 
00010 #include <string>
00011 
00012 #include "LCIOSTLTypes.h"
00013 
00014 namespace EVENT {
00015 
00016 /** Simple interface to store generic named parameters of type
00017  *  int, float and string. 
00018  *  It can be used  to store (user) meta data that is 
00019  *  run, event or collection dependent. 
00020  * 
00021  * @author gaede 
00022  * @version $Id: LCParameters.aid,v 1.2 2004/07/14 15:50:40 gaede Exp $
00023  * @see LCRunHeader.parameters()
00024  * @see LCEvent.parameters()
00025  * @see LCCollection.parameters()
00026  */
00027 
00028 class LCParameters {
00029 
00030 public: 
00031     /// Destructor.
00032     virtual ~LCParameters() { /* nop */; }
00033 
00034     /** Returns the first integer value for the given key.
00035      */
00036     virtual int getIntVal(const std::string & key) const = 0;
00037 
00038     /** Returns the first float value for the given key.
00039      */
00040     virtual float getFloatVal(const std::string & key) const = 0;
00041 
00042     /** Returns the first string value for the given key.
00043      */
00044     virtual const std::string & getStringVal(const std::string & key) const = 0;
00045 
00046     /** Adds all integer values for the given key to values.
00047      *  Returns a reference to values for convenience.
00048      */
00049     virtual IntVec & getIntVals(const std::string & key, IntVec & values) const = 0;
00050 
00051     /** Adds all float values for the given key to values.
00052      *  Returns a reference to values for convenience.
00053      */
00054     virtual FloatVec & getFloatVals(const std::string & key, FloatVec & values) const = 0;
00055 
00056     /** Adds all float values for the given key to values.
00057      *  Returns a reference to values for convenience.
00058      */
00059     virtual StringVec & getStringVals(const std::string & key, StringVec & values) const = 0;
00060 
00061     /** Returns a list of all keys of integer parameters.
00062      */
00063     virtual const StringVec & getIntKeys(StringVec & keys) const = 0;
00064 
00065     /** Returns a list of all keys of float parameters.
00066      */
00067     virtual const StringVec & getFloatKeys(StringVec & keys) const = 0;
00068 
00069     /** Returns a list of all keys of string parameters.
00070      */
00071     virtual const StringVec & getStringKeys(StringVec & keys) const = 0;
00072 
00073     /** The number of integer values stored for this key.
00074      */ 
00075     virtual int getNInt(const std::string & key) const = 0;
00076 
00077     /** The number of float values stored for this key.
00078      */ 
00079     virtual int getNFloat(const std::string & key) const = 0;
00080 
00081     /** The number of string values stored for this key.
00082      */ 
00083     virtual int getNString(const std::string & key) const = 0;
00084 
00085     /** Set integer value for the given key.
00086      */
00087     virtual void setValue(const std::string & key, int value) = 0;
00088 
00089     /** Set float value for the given key.
00090      */
00091     virtual void setValue(const std::string & key, float value) = 0;
00092 
00093     /** Set string value for the given key.
00094      */
00095     virtual void setValue(const std::string & key, const std::string & value) = 0;
00096 
00097     /** Set integer values for the given key.
00098      */
00099     virtual void setValues(const std::string & key, IntVec & values) = 0;
00100 
00101     /** Set float values for the given key.
00102      */
00103     virtual void setValues(const std::string & key, FloatVec & values) = 0;
00104 
00105     /** Set string values for the given key.
00106      */
00107     virtual void setValues(const std::string & key, StringVec & values) = 0;
00108 }; // class
00109 } // namespace EVENT
00110 #endif /* ifndef EVENT_LCPARAMETERS_H */

Generated on Sun Jun 3 06:31:59 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1