CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
DigiCollectionFP420 Class Reference

#include <DigiCollectionFP420.h>

Public Types

typedef std::vector< HDigiFP420 >::const_iterator ContainerIterator
 
typedef std::map< unsigned int, std::vector< HDigiFP420 > > HDigiFP420Container
 
typedef std::pair< unsigned int, unsigned int > IndexRange
 
typedef std::pair< ContainerIterator, ContainerIteratorRange
 
typedef std::map< unsigned int, IndexRangeRegistry
 
typedef std::map< unsigned int, IndexRange >::const_iterator RegistryIterator
 

Public Member Functions

void add (unsigned int &det_id, std::vector< HDigiFP420 > &digis)
 
void clear ()
 
const std::vector< unsigned int > detIDs () const
 
void detIDs (std::vector< unsigned int > &det_ids) const
 
 DigiCollectionFP420 ()
 
void digis (unsigned int &det_id, std::vector< HDigiFP420 > &digis) const
 
const Range get (unsigned int detID) const
 
const Range get1 (unsigned int detID) const
 
void put (Range input, unsigned int detID)
 
void putclear (Range input, unsigned int detID)
 

Private Attributes

std::vector< HDigiFP420container_
 
HDigiFP420Container digiMap_
 
Registry map_
 

Detailed Description

Definition at line 14 of file DigiCollectionFP420.h.

Member Typedef Documentation

typedef std::vector<HDigiFP420>::const_iterator DigiCollectionFP420::ContainerIterator

Definition at line 16 of file DigiCollectionFP420.h.

typedef std::map<unsigned int, std::vector<HDigiFP420> > DigiCollectionFP420::HDigiFP420Container

Definition at line 21 of file DigiCollectionFP420.h.

typedef std::pair<unsigned int, unsigned int> DigiCollectionFP420::IndexRange

Definition at line 18 of file DigiCollectionFP420.h.

Definition at line 17 of file DigiCollectionFP420.h.

typedef std::map<unsigned int, IndexRange> DigiCollectionFP420::Registry

Definition at line 19 of file DigiCollectionFP420.h.

typedef std::map<unsigned int, IndexRange>::const_iterator DigiCollectionFP420::RegistryIterator

Definition at line 20 of file DigiCollectionFP420.h.

Constructor & Destructor Documentation

DigiCollectionFP420::DigiCollectionFP420 ( )
inline

Definition at line 23 of file DigiCollectionFP420.h.

References add(), clear(), detIDs(), digis(), get1(), input, put(), and putclear().

23 {}

Member Function Documentation

void DigiCollectionFP420::add ( unsigned int &  det_id,
std::vector< HDigiFP420 > &  digis 
)

Definition at line 179 of file DigiCollectionFP420.cc.

References popcon2dropbox::copy(), gather_cfg::cout, digiMap_, digis(), relativeConstraints::empty, and findQualityFiles::size.

Referenced by DigiCollectionFP420(), counter.Counter::register(), SequenceTypes.Task::remove(), and SequenceTypes.Task::replace().

179  {
180 #ifdef mydigidebug
181  std::cout << "DigiCollectionFP420::add: det_id= " << det_id << std::endl;
182 #endif
183  digiMap_[det_id].reserve(digiMap_[det_id].size() + digis.size());
184  if (digiMap_[det_id].empty()) {
185  digiMap_[det_id] = digis;
186  } else {
187  copy(digis.begin(), digis.end(), back_inserter(digiMap_[det_id]));
188  }
189 }
size
Write out results.
def copy(args, dbName)
void digis(unsigned int &det_id, std::vector< HDigiFP420 > &digis) const
HDigiFP420Container digiMap_
void DigiCollectionFP420::clear ( void  )
const std::vector< unsigned int > DigiCollectionFP420::detIDs ( ) const

Definition at line 159 of file DigiCollectionFP420.cc.

References begin, gather_cfg::cout, end, map_, and convertSQLitetoXML_cfg::output.

Referenced by DigiCollectionFP420().

159  {
160  // returns vector of detIDs in map
161 
164 
165 #ifdef mydigidebug
166  std::cout << "DigiCollectionFP420::detIDs:start " << std::endl;
167 #endif
168  std::vector<unsigned int> output;
169 
170  for (; begin != end; ++begin) {
171  output.push_back(begin->first);
172  }
173 
174  return output;
175 }
std::map< unsigned int, IndexRange >::const_iterator RegistryIterator
#define end
Definition: vmac.h:39
#define begin
Definition: vmac.h:32
void DigiCollectionFP420::detIDs ( std::vector< unsigned int > &  det_ids) const

Definition at line 207 of file DigiCollectionFP420.cc.

References gather_cfg::cout, and digiMap_.

207  {
208  det_ids.clear();
209  det_ids.reserve(static_cast<unsigned int>(digiMap_.size()));
210 #ifdef mydigidebug
211  std::cout << "DigiCollectionFP420:: detIDs: digiMap size= " << digiMap_.size() << std::endl;
212 #endif
213  HDigiFP420Container::const_iterator iter;
214  for (iter = digiMap_.begin(); iter != digiMap_.end(); iter++) {
215  det_ids.push_back(iter->first);
216  }
217 }
HDigiFP420Container digiMap_
void DigiCollectionFP420::digis ( unsigned int &  det_id,
std::vector< HDigiFP420 > &  digis 
) const

Definition at line 193 of file DigiCollectionFP420.cc.

References gather_cfg::cout, digiMap_, and runEdmFileComparison::found.

Referenced by add(), and DigiCollectionFP420().

193  {
194 #ifdef mydigidebug
195  std::cout << "DigiCollectionFP420::digis:det_id= " << det_id << std::endl;
196 #endif
197  auto found = digiMap_.find(det_id);
198  if (found != digiMap_.end()) {
199  digis = found->second;
200  } else {
201  digis = std::vector<HDigiFP420>();
202  }
203 }
void digis(unsigned int &det_id, std::vector< HDigiFP420 > &digis) const
HDigiFP420Container digiMap_
const DigiCollectionFP420::Range DigiCollectionFP420::get ( unsigned int  detID) const

Definition at line 102 of file DigiCollectionFP420.cc.

References container_, gather_cfg::cout, runEdmFileComparison::found, and map_.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), util.rrapi.RRApi::count(), rrapi.RRApi::count(), rrapi.RRApi::data(), util.rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), util.rrapi.RRApi::report(), rrapi.RRApi::reports(), util.rrapi.RRApi::reports(), FP420ClusterMain::run(), util.rrapi.RRApi::tables(), rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().

102  {
103  // get Digis of detID
104 
105 #ifdef mydigidebug
106  std::cout << "DigiCollectionFP420::get1:detID= " << detID << std::endl;
107 #endif
108  auto found = map_.find(detID);
109  if (found == map_.end()) {
110  return DigiCollectionFP420::Range{container_.begin(), container_.begin()};
111  }
112 
113  DigiCollectionFP420::IndexRange returnIndexRange = found->second;
114  //
115  DigiCollectionFP420::Range returnRange;
116  returnRange.first = container_.begin() + returnIndexRange.first;
117  if (returnIndexRange.second != 0) {
118  returnRange.second = container_.begin() + returnIndexRange.second + 1;
119  } else {
120  returnRange.second = container_.begin() + returnIndexRange.second;
121  }
122 
123 #ifdef mydigidebug
124  std::cout << "digi get1: container_.size() = " << container_.size() << std::endl;
125  std::cout << "digi get1: returnIndexRange.first= " << returnIndexRange.first << std::endl;
126  std::cout << "digi get1: returnIndexRange.second= " << returnIndexRange.second << std::endl;
127 #endif
128  return returnRange;
129 }
std::pair< unsigned int, unsigned int > IndexRange
std::pair< ContainerIterator, ContainerIterator > Range
std::vector< HDigiFP420 > container_
const DigiCollectionFP420::Range DigiCollectionFP420::get1 ( unsigned int  detID) const

Definition at line 131 of file DigiCollectionFP420.cc.

References container_, gather_cfg::cout, and map_.

Referenced by DigiCollectionFP420().

131  {
132  // get Digis of detID
133 
134 #ifdef mydigidebug
135  std::cout << "DigiCollectionFP420::get :detID= " << detID << std::endl;
136 #endif
137  DigiCollectionFP420::RegistryIterator returnIndex = map_.find(detID);
138  DigiCollectionFP420::IndexRange returnIndexRange = returnIndex->second;
139 #ifdef mydigidebug
140  std::cout << "DigiCollectionFP420::get : returnIndexRange.first= " << returnIndexRange.first << std::endl;
141  std::cout << "DigiCollectionFP420::get : returnIndexRange.second= " << returnIndexRange.second << std::endl;
142 #endif
143 
144  DigiCollectionFP420::Range returnRange;
145  returnRange.first = container_.begin() + returnIndexRange.first;
146  if (returnIndexRange.second != 0) {
147  returnRange.second = container_.begin() + returnIndexRange.second + 1;
148  } else {
149  returnRange.second = container_.begin() + returnIndexRange.second;
150  }
151 #ifdef mydigidebug
152  std::cout << "DigiCollectionFP420::get : container_.size() = " << container_.size() << std::endl;
153  std::cout << "DigiCollectionFP420::get : returnIndexRange.first= " << returnIndexRange.first << std::endl;
154  std::cout << "DigiCollectionFP420::get : returnIndexRange.second= " << returnIndexRange.second << std::endl;
155 #endif
156  return returnRange;
157 }
std::pair< unsigned int, unsigned int > IndexRange
std::map< unsigned int, IndexRange >::const_iterator RegistryIterator
std::pair< ContainerIterator, ContainerIterator > Range
std::vector< HDigiFP420 > container_
void DigiCollectionFP420::put ( Range  input,
unsigned int  detID 
)

Definition at line 15 of file DigiCollectionFP420.cc.

References begin, container_, gather_cfg::cout, end, plotBeamSpotDB::first, estimatePileup::inputRange, and map_.

Referenced by DigiCollectionFP420().

15  {
16  // put in Digis of detID
17 
18  // store size of vector before put
20 
21  // put in HDigiFP420s from input
22  bool first = true;
23 
24  // fill input in temporary vector for sorting
25  std::vector<HDigiFP420> temporary;
28 #ifdef mydigidebug
29  std::cout << " !!!!!!!!!!!!!!!! DigiCollectionFP420:: !!!! put !!!! start detID=" << detID << std::endl;
30 #endif
31  for (; sort_begin != sort_end; ++sort_begin) {
32  temporary.push_back(*sort_begin);
33 #ifdef mydigidebug
34  std::cout << "digi put: temporary.push_back " << std::endl;
35 #endif
36  } // for
37  std::sort(temporary.begin(), temporary.end());
38 
39  // iterators over input
42  for (; begin != end; ++begin) {
43  container_.push_back(*begin);
44  if (first) {
45  inputRange.first = container_.size() - 1;
46 #ifdef mydigidebug
47  std::cout << "digi put:first container_.size() = " << container_.size() << std::endl;
48  std::cout << "digi put:first inputRange.first = " << inputRange.first << std::endl;
49 #endif
50  first = false;
51  } // if
52  } //for
53 
54  // since we start from 0, then the last element will be size-1
55  if (!container_.empty()) {
56  inputRange.second = container_.size() - 1;
57  } else {
58  inputRange.first = container_.size();
59  inputRange.second = container_.size();
60  }
61 #ifdef mydigidebug
62  std::cout << "digi put: container_.size() = " << container_.size() << std::endl;
63  std::cout << "digi put: inputRange.first = " << inputRange.first << std::endl;
64  std::cout << "digi put: inputRange.second = " << inputRange.second << std::endl;
65 #endif
66 
67  // fill map
68  map_[detID] = inputRange;
69 }
std::vector< HDigiFP420 >::const_iterator ContainerIterator
std::pair< unsigned int, unsigned int > IndexRange
static std::string const input
Definition: EdmProvDump.cc:48
#define end
Definition: vmac.h:39
std::vector< HDigiFP420 > container_
#define begin
Definition: vmac.h:32
inputRange
Get input source.
void DigiCollectionFP420::putclear ( DigiCollectionFP420::Range  input,
unsigned int  detID 
)

Definition at line 72 of file DigiCollectionFP420.cc.

References begin, container_, gather_cfg::cout, end, estimatePileup::inputRange, and map_.

Referenced by DigiCollectionFP420().

72  {
74 
75  std::vector<HDigiFP420> temporary;
78  for (; sort_begin != sort_end; ++sort_begin) {
79  temporary.push_back(*sort_begin);
80  }
81  std::sort(temporary.begin(), temporary.end());
82 
83  // temporary.clear();
86  for (; begin != end; ++begin) {
87  container_.push_back(*begin);
88  }
89  //container_.clear();
90  inputRange.first = container_.size() - container_.size();
91  inputRange.second = container_.size() - container_.size();
92 
93 #ifdef mydigidebug
94  std::cout << "digi putclear: container_.size() = " << container_.size() << std::endl;
95  std::cout << "digi putclear: inputRange.first = " << inputRange.first << std::endl;
96  std::cout << "digi putclear: inputRange.second = " << inputRange.second << std::endl;
97 #endif
98 
99  map_[detID] = inputRange;
100 }
std::vector< HDigiFP420 >::const_iterator ContainerIterator
std::pair< unsigned int, unsigned int > IndexRange
static std::string const input
Definition: EdmProvDump.cc:48
#define end
Definition: vmac.h:39
std::vector< HDigiFP420 > container_
#define begin
Definition: vmac.h:32
inputRange
Get input source.

Member Data Documentation

std::vector<HDigiFP420> DigiCollectionFP420::container_
private

Definition at line 38 of file DigiCollectionFP420.h.

Referenced by clear(), get(), get1(), put(), and putclear().

HDigiFP420Container DigiCollectionFP420::digiMap_
private

Definition at line 41 of file DigiCollectionFP420.h.

Referenced by add(), detIDs(), and digis().

Registry DigiCollectionFP420::map_
private

Definition at line 39 of file DigiCollectionFP420.h.

Referenced by detIDs(), get(), get1(), put(), and putclear().