00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef ST_TOF_SLAT_COLLECTION_H
00015 #define ST_TOF_SLAT_COLLECTION_H
00016
00017 #include <vector>
00018 #ifndef ST_NO_NAMESPACES
00019 using std::vector;
00020 using std::copy;
00021 #endif
00022
00023 class StTofSlat;
00024
00025 #ifndef ST_NO_DEF_TEMPLATE_ARGS
00026 typedef vector<StTofSlat*> slatVector;
00027 #else
00028 typedef vector<StTofSlat*, allocator<StTofSlat*> > slatVector;
00029 #endif
00030
00031 class StTofSlatCollection {
00032 public:
00033 StTofSlatCollection();
00034 virtual ~StTofSlatCollection();
00035
00036 bool push_back(StTofSlat* slat);
00037 size_t size() const;
00038 StTofSlat* front() const;
00039 StTofSlat* back() const;
00040 StTofSlat* getSlat(size_t index) const;
00041 void clear();
00042
00043 private:
00044 slatVector mSlatVector;
00045 };
00046 #endif