Main Page
Namespaces
Classes
Package Documentation
DetectorDescription
RegressionTest
src
TagName.h
Go to the documentation of this file.
1
#ifndef x_TagName_h
2
#define x_TagName_h
3
4
#include <utility>
5
#include <string>
6
#include <iostream>
7
#include <map>
8
9
class
TagName
10
{
11
public
:
12
13
TagName
()
14
:
id_
(
count
())
15
{}
16
17
explicit
TagName
(
const
std::string
&
name
)
18
:
name_
(
regName
(name)),
id_
(
count
())
19
{ };
20
21
const
std::string
&
str
()
const
{
return
name_
->first; }
22
23
std::string
operator()
()
const
{
return
name_
->first; }
24
25
bool
sameName
(
const
TagName
& tn)
const
{
26
return
(
name_
== tn.
name_
);
27
}
28
29
bool
operator<
(
const
TagName
&
n
)
const
{
30
return
(
id_
< n.
id_
);
31
}
32
33
private
:
34
typedef
std::map<std::string,unsigned int>
Registry
;
35
typedef
unsigned
int
count_type
;
36
37
Registry::iterator
name_
;
38
count_type
id_
;
// identification for equality checks
39
40
static
Registry::iterator
regName
(
const
std::string
&
s
) {
41
static
Registry reg;
42
Registry::size_type
sz = reg.size();
43
Registry::value_type
val
(s, sz);
44
/*
45
std::pair<Registry::iterator, bool> insert = reg.insert(val);
46
if (!insert.second) {
47
sz = insert.first->second;
48
}
49
return insert.first;
50
*/
51
return
reg.insert(val).first;
52
}
53
54
static
count_type
count
() {
55
static
count_type
i
=0;
56
++
i
;
57
return
i
;
58
}
59
};
60
61
#endif
TagName::name_
Registry::iterator name_
Definition:
TagName.h:37
mps_fire.i
i
Definition:
mps_fire.py:338
TagName
Definition:
TagName.h:9
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
TagName::Registry
std::map< std::string, unsigned int > Registry
Definition:
TagName.h:34
TagName::regName
static Registry::iterator regName(const std::string &s)
Definition:
TagName.h:40
trigger::size_type
uint16_t size_type
Definition:
TriggerTypeDefs.h:19
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition:
JetExtendedAssociation.h:30
TagName::count_type
unsigned int count_type
Definition:
TagName.h:35
TagName::TagName
TagName()
Definition:
TagName.h:13
TagName::operator<
bool operator<(const TagName &n) const
Definition:
TagName.h:29
TagName::str
const std::string & str() const
Definition:
TagName.h:21
TagName::operator()
std::string operator()() const
Definition:
TagName.h:23
TagName::count
static count_type count()
Definition:
TagName.h:54
TagName::sameName
bool sameName(const TagName &tn) const
Definition:
TagName.h:25
TagName::TagName
TagName(const std::string &name)
Definition:
TagName.h:17
gen::n
int n
Definition:
Cascade2Hadronizer.cc:79
dataset.name
name
Definition:
dataset.py:45
heppy_batch.val
val
Definition:
heppy_batch.py:351
TagName::id_
count_type id_
Definition:
TagName.h:38
Generated for CMSSW Reference Manual by
1.8.11