23 typedef typename std::pair<EcalLogicID, T>
DataItem;
24 typedef typename std::map<EcalLogicID, T>
DataMap;
35 long long diff_time = (
t1.microsTime() -
t2.microsTime());
36 return (diff_time < 0);
39 std::pair<Tm, std::pair<EcalLogicID, U> >
m_iData;
59 std::cout <<
" we are in getReducedDataList " << std::endl;
62 std::cout <<
" created iterator " << std::endl;
64 bool firstpass =
true;
65 unsigned int s_old = 0;
67 Tm t = (*i).m_iData.first;
69 bool new_time_change =
true;
77 for (it = my_new_list->begin(); it != my_new_list->end(); ++it) {
80 std::pair<Tm, DataMap> pair_new_list = *it;
82 Tm t_l = pair_new_list.first;
85 for (ip =
dd.begin(); ip !=
dd.end(); ++ip) {
87 T dcs_dat = ip->second;
89 last_state = dcs_dat.getStatus();
92 long long diff_time = (
t.microsTime() - t_l.
microsTime()) / 1000000;
94 diff_time = -diff_time;
98 new_time_change =
false;
100 the_data = pair_new_list.second;
105 if (last_state !=
d.second.getStatus()) {
106 if (!new_time_change) {
107 std::pair<Tm, DataMap> pair_new_list = *it_good;
108 Tm t_good = pair_new_list.first;
109 the_data = pair_new_list.second;
111 std::pair<Tm, DataMap> pair_new_good;
112 pair_new_good.first = t_good;
113 pair_new_good.second = the_data;
115 my_new_list->erase(it_good);
116 my_new_list->push_back(pair_new_good);
118 }
else if (new_time_change) {
119 std::pair<Tm, DataMap> p_new;
123 p_new.second = a_map;
124 my_new_list->push_back(p_new);
128 if (my_new_list->size() > s_old) {
129 s_old = my_new_list->size();
131 std::cout <<
"************" << std::endl;
132 for (it3 = my_new_list->begin(); it3 != my_new_list->end(); ++it3) {
133 std::pair<Tm, DataMap> pair_new_list3 = *it3;
134 Tm t3 = pair_new_list3.first;
137 std::cout <<
"************" << std::endl;
143 std::pair<Tm, DataMap> p_new;
147 p_new.second = a_map;
148 my_new_list->insert(my_new_list->begin(), p_new);
155 for (it3 = my_new_list->begin(); it3 != my_new_list->end(); ++it3) {
156 std::pair<Tm, DataMap> pair_new_list3 = *it3;
157 Tm t3 = pair_new_list3.first;
165 std::list<MyData<T> >
m_list;
static const int TIMELIMIT
void setDataList(std::list< MyData< T > > _list)
std::map< EcalLogicID, T >::iterator map_iterator
std::map< EcalLogicID, T > DataMap
std::pair< EcalLogicID, T > DataItem
std::list< std::pair< Tm, DataMap > >::iterator list_iterator
std::list< MyData< T > > m_list
void getReducedDataList(std::list< std::pair< Tm, DataMap > > *my_new_list)
bool operator<(const MyData &rhs)
std::pair< Tm, std::pair< EcalLogicID, U > > m_iData
uint64_t microsTime() const
std::list< MyData< T > >::iterator iterator