Main Page
Namespaces
Classes
Package Documentation
CondFormats
Alignment
interface
AlignmentSurfaceDeformations.h
Go to the documentation of this file.
1
#ifndef AlignmentSurfaceDeformations_H
2
#define AlignmentSurfaceDeformations_H
3
4
#include "
CondFormats/Serialization/interface/Serializable.h
"
5
6
#include <vector>
7
8
#include "
CondFormats/Alignment/interface/Definitions.h
"
9
19
20
class
AlignmentSurfaceDeformations
{
21
public
:
22
struct
Item
{
23
align::ID
m_rawId
;
24
int
m_parametrizationType
;
25
int
m_index
;
26
27
COND_SERIALIZABLE
;
28
};
29
30
typedef
std::vector<Item>
ItemVector
;
31
typedef
std::vector<align::Scalar>::const_iterator
ParametersConstIterator
;
32
typedef
std::pair<ParametersConstIterator, ParametersConstIterator>
ParametersConstIteratorPair
;
33
34
AlignmentSurfaceDeformations
() {}
35
virtual
~AlignmentSurfaceDeformations
() {}
36
38
inline
bool
empty
()
const
{
return
m_items
.empty(); }
39
41
bool
add
(
align::ID
rawId,
int
type
,
const
std::vector<align::Scalar>&
parameters
) {
42
Item
item
;
43
item.
m_rawId
= rawId;
44
item.
m_parametrizationType
=
type
;
45
item.
m_index
=
m_parameters
.size();
46
m_items
.push_back(item);
47
48
m_parameters
.reserve(
m_parameters
.size() + parameters.size());
49
std::copy
(parameters.begin(), parameters.end(), std::back_inserter(
m_parameters
));
50
51
return
true
;
52
}
53
55
const
ItemVector&
items
()
const
{
return
m_items
; }
56
59
ParametersConstIteratorPair
parameters
(
size_t
index
)
const
{
60
ParametersConstIteratorPair pair;
61
pair.first =
m_parameters
.begin() +
m_items
[
index
].m_index;
62
if
(index <
m_items
.size() - 1) {
63
pair.second =
m_parameters
.begin() +
m_items
[index + 1].m_index;
64
}
else
{
65
pair.second =
m_parameters
.end();
66
}
67
return
pair;
68
}
69
70
private
:
71
std::vector<align::Scalar>
m_parameters
;
72
ItemVector
m_items
;
73
74
COND_SERIALIZABLE
;
75
};
76
77
#endif // AlignmentSurfaceDeformations_H
type
type
Definition:
HCALResponse.h:21
AlignmentSurfaceDeformations::empty
bool empty() const
Test of empty vector without having to look into internals:
Definition:
AlignmentSurfaceDeformations.h:38
align::ID
uint32_t ID
Definition:
Definitions.h:24
B2GTnPMonitor_cfi.item
item
Definition:
B2GTnPMonitor_cfi.py:147
AlignmentPI::index
index
Definition:
AlignmentPayloadInspectorHelper.h:36
AlignmentSurfaceDeformations::Item::m_parametrizationType
int m_parametrizationType
Definition:
AlignmentSurfaceDeformations.h:24
AlignmentSurfaceDeformations::AlignmentSurfaceDeformations
AlignmentSurfaceDeformations()
Definition:
AlignmentSurfaceDeformations.h:34
AlignmentSurfaceDeformations::m_parameters
std::vector< align::Scalar > m_parameters
Definition:
AlignmentSurfaceDeformations.h:71
AlignmentSurfaceDeformations::parameters
ParametersConstIteratorPair parameters(size_t index) const
Definition:
AlignmentSurfaceDeformations.h:59
AlignmentSurfaceDeformations::ParametersConstIteratorPair
std::pair< ParametersConstIterator, ParametersConstIterator > ParametersConstIteratorPair
Definition:
AlignmentSurfaceDeformations.h:32
Definitions.h
AlignmentSurfaceDeformations::~AlignmentSurfaceDeformations
virtual ~AlignmentSurfaceDeformations()
Definition:
AlignmentSurfaceDeformations.h:35
filterCSVwithJSON.copy
copy
Definition:
filterCSVwithJSON.py:36
AlignmentSurfaceDeformations::ItemVector
std::vector< Item > ItemVector
Definition:
AlignmentSurfaceDeformations.h:30
AlignmentSurfaceDeformations::items
const ItemVector & items() const
Get vector of all items.
Definition:
AlignmentSurfaceDeformations.h:55
AlignmentSurfaceDeformations::add
bool add(align::ID rawId, int type, const std::vector< align::Scalar > ¶meters)
Add a new item.
Definition:
AlignmentSurfaceDeformations.h:41
AlignmentSurfaceDeformations::Item::m_index
int m_index
Definition:
AlignmentSurfaceDeformations.h:25
COND_SERIALIZABLE
#define COND_SERIALIZABLE
Definition:
Serializable.h:38
AlignmentSurfaceDeformations::ParametersConstIterator
std::vector< align::Scalar >::const_iterator ParametersConstIterator
Definition:
AlignmentSurfaceDeformations.h:31
AlignmentSurfaceDeformations::Item::m_rawId
align::ID m_rawId
Definition:
AlignmentSurfaceDeformations.h:23
parameters
parameters
Definition:
BeamSpot_PayloadInspector.cc:14
AlignmentSurfaceDeformations
Definition:
AlignmentSurfaceDeformations.h:20
Serializable.h
AlignmentSurfaceDeformations::m_items
ItemVector m_items
Definition:
AlignmentSurfaceDeformations.h:72
AlignmentSurfaceDeformations::Item
Definition:
AlignmentSurfaceDeformations.h:22
Generated for CMSSW Reference Manual by
1.8.11