LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
LCGenericObjectImpl.h
1 // -*- C++ -*-
2 #ifndef EVENT_LCGENERICOBJECTIMPL_H
3 #define EVENT_LCGENERICOBJECTIMPL_H 1
4 
5 #include "EVENT/LCGenericObject.h"
6 #include "AccessChecked.h"
7 #include <vector>
8 
9 namespace IMPL {
10 
19 
20 public:
21 
25 
28  LCGenericObjectImpl(int nInt, int nFloat, int nDouble) ;
29 
31  virtual ~LCGenericObjectImpl() { /* nop */; }
32 
33  virtual int id() const { return simpleUID() ; }
34 
37  virtual int getNInt() const;
38 
41  virtual int getNFloat() const;
42 
45  virtual int getNDouble() const;
46 
49  virtual int getIntVal(int index) const;
50 
53  virtual float getFloatVal(int index) const;
54 
57  virtual double getDoubleVal(int index) const;
58 
59 
60 
63  virtual void setIntVal(unsigned index, int value) ;
64 
67  virtual void setFloatVal(unsigned index, float value) ;
68 
71  virtual void setDoubleVal(unsigned index, double value) ;
72 
77  virtual bool isFixedSize() const;
78 
81  virtual const std::string getTypeName() const ;
82 
87  virtual const std::string getDataDescription() const ;
88 
89 
90 protected:
91 
92  std::vector<int> _intVec ;
93  std::vector<float> _floatVec ;
94  std::vector<double> _doubleVec ;
95  bool _isFixedSize ;
96 
97  static std::string _typeName ;
98  static std::string _dataDescription ;
99 
100 }; // class
101 } // namespace EVENT
102 #endif /* ifndef EVENT_LCGENERICOBJECTIMPL_H */
virtual void setFloatVal(unsigned index, float value)
Sets the float value at the given index.
Definition: LCGenericObjectImpl.cc:60
virtual int getNFloat() const
Number of float values stored in this object.
Definition: LCGenericObjectImpl.cc:30
virtual int id() const
Provide default implementation for id.
Definition: LCGenericObjectImpl.h:33
virtual int getNDouble() const
Number of double values stored in this object.
Definition: LCGenericObjectImpl.cc:34
virtual int getIntVal(int index) const
Returns the integer value for the given index.
Definition: LCGenericObjectImpl.cc:38
virtual float getFloatVal(int index) const
Returns the float value for the given index.
Definition: LCGenericObjectImpl.cc:42
virtual double getDoubleVal(int index) const
Returns the double value for the given index.
Definition: LCGenericObjectImpl.cc:46
virtual ~LCGenericObjectImpl()
Destructor.
Definition: LCGenericObjectImpl.h:31
virtual void setIntVal(unsigned index, int value)
Sets the integer value at the given index.
Definition: LCGenericObjectImpl.cc:54
virtual bool isFixedSize() const
True if objects of the implementation class have a fixed size, i.e getNInt, getNFloat and getNDouble ...
Definition: LCGenericObjectImpl.cc:50
Default LCIO implementation of the interface to store generic user data.
Definition: LCGenericObjectImpl.h:18
virtual const std::string getTypeName() const
The type name of the user class (typically the class name)
Definition: LCGenericObjectImpl.cc:72
Simple interface to store generic user data.
Definition: LCGenericObject.h:27
LCGenericObjectImpl()
Variable size c'tor.
Definition: LCGenericObjectImpl.cc:14
virtual int getNInt() const
Number of integer values stored in this object.
Definition: LCGenericObjectImpl.cc:27
virtual const std::string getDataDescription() const
The description string.
Definition: LCGenericObjectImpl.cc:76
Controls access to objects.
Definition: AccessChecked.h:17
virtual void setDoubleVal(unsigned index, double value)
Sets the double value at the given index.
Definition: LCGenericObjectImpl.cc:66