ATLAS Offline Software
Loading...
Searching...
No Matches
CondMultChanCollection.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
15
16#ifndef DBDATAOBJECTS_CONDMULTCHANCOLLECTION_H
17# define DBDATAOBJECTS_CONDMULTCHANCOLLECTION_H
18
19//<<<<<< INCLUDES >>>>>>
20
24#include <vector>
25
49
50template <typename T>
52{
53public:
54
55 typedef unsigned int ChanNum;
56 typedef std::vector<ChanNum> ChanVec;
57 typedef std::vector<IOVRange> IOVVec;
58 typedef typename ChanVec::const_iterator chan_const_iterator;
59 typedef typename ChanVec::iterator chan_iterator;
60 typedef typename ChanVec::size_type chan_size_type;
61 typedef typename IOVVec::const_iterator iov_const_iterator;
62 typedef typename IOVVec::iterator iov_iterator;
63 typedef typename IOVVec::size_type iov_size_type;
64
67
71
74
78
81
84
86 bool hasUniqueIOV() const;
87
89 void add(ChanNum chanNum);
90
92 void add(const IOVRange& range);
93
96 void addNewStop(const IOVTime& stop);
97
100 virtual StatusCode initialize();
101
104
107
108private:
109
111};
112
113//<<<<<< INLINE PUBLIC FUNCTIONS >>>>>>
114//<<<<<< INLINE MEMBER FUNCTIONS >>>>>>
115
116
117template <typename T>
118inline
123
125template <typename T>
126inline
129{
130 return (m_impl.chan_begin());
131}
132
133template <typename T>
134inline
137{
138 return (m_impl.chan_end());
139}
140
142template <typename T>
143inline
146{
147 return (m_impl.chan_size());
148}
149
150
152template <typename T>
153inline
156{
157 return (m_impl.iov_begin());
158}
159
160template <typename T>
161inline
164{
165 return (m_impl.iov_end());
166}
167
169template <typename T>
170inline
173{
174 return (m_impl.iov_size());
175}
176
178template <typename T>
179inline
182{
183 return (m_impl.minRange());
184}
185
187template <typename T>
188inline
189bool
191{
192 return (m_impl.hasUniqueIOV());
193}
194
196template <typename T>
197inline
198void
200{
201 m_impl.add(chanNum);
202}
203
205template <typename T>
206inline
207void
209{
210 m_impl.add(range);
211}
212
215template <typename T>
216inline
217void
219{
220 m_impl.addNewStop(stop);
221}
222
225template <typename T>
226inline
227StatusCode
229{
230 return (StatusCode::SUCCESS);
231}
232
234template <typename T>
235inline
236void
238{
239 m_impl.resetChannelNumbers();
240}
241
243template <typename T>
244inline
250
251
252
253#endif // DBDATAOBJECTS_CONDMULTCHANCOLLECTION_H
This file defines the non-template part of a CondMultChanCollection.
An STL vector of pointers that by default owns its pointed-to elements.
Validity Range object.
A CondMultChanCollImpl defines the non-template part of a CondMultChanCollection.
chan_size_type chan_size() const
number of channels
virtual StatusCode initialize()
Initialization done after creation or read back - derived classes may augment the functionality.
void add(const IOVRange &range)
Adding in iov ranges.
CondMultChanCollImpl * implementation()
Get implementation.
iov_const_iterator iov_end() const
iov_size_type iov_size() const
number of IOVs
void resetChannelNumbers()
Reset channel numbers - needed to allow sorting.
void addNewStop(const IOVTime &stop)
Add new stop time to minRange - make sure that stop is <= to new stop.
void add(ChanNum chanNum)
Adding in channel numbers.
IOVRange minRange() const
Current minimal IOVRange.
chan_const_iterator chan_end() const
chan_const_iterator chan_begin() const
Access to Channel numbers via iterators.
CondMultChanCollection()
Default constructor.
bool hasUniqueIOV() const
Check whether there is a unique IOV for all channels.
iov_const_iterator iov_begin() const
Access to IOVs via iterators.
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
Default constructor.
Validity Range object.
Definition IOVRange.h:30
Basic time unit for IOVSvc.
Definition IOVTime.h:33