Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
CalibFormats
CastorObjects
src
CastorCalibrationsSet.cc
Go to the documentation of this file.
1
#include "
CalibFormats/CastorObjects/interface/CastorCalibrationsSet.h
"
2
#include "
DataFormats/HcalDetId/interface/HcalGenericDetId.h
"
3
#include "
FWCore/Utilities/interface/Exception.h
"
4
#include <algorithm>
5
6
CastorCalibrationsSet::CastorCalibrationsSet
() : sorted_(
false
) {}
7
8
const
CastorCalibrations
&
CastorCalibrationsSet::getCalibrations
(
const
DetId
fId)
const
{
9
Item
target
(fId);
10
std::vector<Item>::const_iterator cell;
11
if
(
sorted_
) {
12
cell =
std::lower_bound
(
mItems
.begin(),
mItems
.end(),
target
);
13
}
else
{
14
cell =
std::find
(
mItems
.begin(),
mItems
.end(),
target
);
15
}
16
if
(cell ==
mItems
.end() || cell->id != fId)
17
throw
cms::Exception
(
"Conditions not found"
) <<
"Unavailable CastorCalibrations for cell "
<<
HcalGenericDetId
(fId);
18
return
cell->calib;
19
}
20
21
void
CastorCalibrationsSet::setCalibrations
(
DetId
fId,
const
CastorCalibrations
& ca) {
22
sorted_
=
false
;
23
std::vector<Item>::iterator cell =
std::find
(
mItems
.begin(),
mItems
.end(),
Item
(fId));
//slow, but guaranteed
24
if
(cell ==
mItems
.end()) {
25
mItems
.push_back(
Item
(fId));
26
mItems
.at(
mItems
.size() - 1).calib = ca;
27
return
;
28
}
29
30
cell->calib = ca;
31
}
32
void
CastorCalibrationsSet::sort
() {
33
if
(!
sorted_
) {
34
std::sort(
mItems
.begin(),
mItems
.end());
35
sorted_
=
true
;
36
}
37
}
38
void
CastorCalibrationsSet::clear
() {
mItems
.clear(); }
funct::false
false
Definition:
Factorize.h:29
CastorCalibrationsSet::Item
CalibSetObject Item
Definition:
CastorCalibrationsSet.h:24
CastorCalibrations
Definition:
CastorCalibrations.h:9
CastorCalibrationsSet::CastorCalibrationsSet
CastorCalibrationsSet()
Definition:
CastorCalibrationsSet.cc:6
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition:
FindCaloHit.cc:19
CastorCalibrationsSet::getCalibrations
const CastorCalibrations & getCalibrations(const DetId id) const
Definition:
CastorCalibrationsSet.cc:8
CastorCalibrationsSet::sorted_
bool sorted_
Definition:
CastorCalibrationsSet.h:27
HcalGenericDetId.h
CastorCalibrationsSet::clear
void clear()
Definition:
CastorCalibrationsSet.cc:38
CastorCalibrationsSet.h
CastorCalibrationsSet::setCalibrations
void setCalibrations(const DetId id, const CastorCalibrations &ca)
Definition:
CastorCalibrationsSet.cc:21
CastorCalibrationsSet::sort
void sort()
Definition:
CastorCalibrationsSet.cc:32
CastorCalibrationsSet::mItems
std::vector< CalibSetObject > mItems
Definition:
CastorCalibrationsSet.h:26
CastorCalibrationsSet::CalibSetObject
Definition:
CastorCalibrationsSet.h:17
HcalGenericDetId
Definition:
HcalGenericDetId.h:15
DetId
Definition:
DetId.h:17
Exception.h
filterCSVwithJSON.target
tuple target
Definition:
filterCSVwithJSON.py:32
cms::Exception
Definition:
Exception.h:70
cuda_std::lower_bound
__host__ __device__ constexpr RandomIt lower_bound(RandomIt first, RandomIt last, const T &value, Compare comp={})
Definition:
cudastdAlgorithm.h:27
Generated for CMSSW Reference Manual by
1.8.5