ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloIdentifier
CaloIdentifier
CaloCellGroup.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef CALOCELLGROUP_H
6
#define CALOCELLGROUP_H
7
#include "GaudiKernel/MsgStream.h"
8
#include "
CaloIdentifier/CaloCell_Base_ID.h
"
9
#include <bitset>
10
11
class
CaloCellGroup
{
12
13
public
:
14
CaloCellGroup
();
15
16
//Format:
17
//[EMEC,EMB/A/Layer/Region/Eta/Phi] value1, value2, ...
18
bool
setDefinition
(
const
CaloCell_Base_ID
* caloCellId,
const
std::string& definition, MsgStream& logStr);
19
bool
inGroup
(
const
Identifier
id
)
const
;
20
const
std::vector<float>&
getValue
()
const
{
return
m_values
;}
21
22
void
printDef
()
const
;
23
24
25
private
:
26
static
void
complain
(MsgStream&,
const
std::string&) ;
27
28
enum
Fields
{
29
LAYER
,
30
REGION
,
31
ETA
,
32
PHI
,
33
NFIELDS
34
};
35
36
/*
37
enum Calo {
38
EMB=0,
39
EMEC,
40
HEC,
41
FCAL
42
};
43
44
//Group defintion:
45
std::bitset<4> m_subCalos;
46
//std::bitset<CaloCell_ID:SUBCALO> m_subCalos;
47
*/
48
49
50
bool
m_pos
,
m_neg
;
51
bool
m_emb
,
m_emecow
,
m_emeciw
,
m_hec
,
m_fcal
;
52
std::vector<std::pair<int,int> >
m_fieldBoundaries
;
53
std::vector<float>
m_values
;
54
55
const
CaloCell_Base_ID
*
m_caloCellId
;
56
57
};
58
59
class
CaloCellGroupList
{
60
public
:
61
CaloCellGroupList
():
m_initialized
(false) {};
62
63
//Convention: First element of vector has default values, following elements as defined above
64
bool
setDefinition
(
const
CaloCell_Base_ID
* caloCellId,
const
std::vector<std::string>& definitions, MsgStream& logStr);
65
66
void
dump
(
const
CaloCell_Base_ID
* caloCellId);
// for debugging
67
68
void
printDef
()
const
;
69
70
const
std::vector<float>&
valuesForCell
(
const
Identifier
id
);
71
72
const
std::vector<float>&
getDefaults
()
const
{
return
m_defaults
; }
73
74
private
:
75
std::vector<CaloCellGroup>
m_groups
;
76
std::vector<float>
m_defaults
;
77
bool
m_initialized
;
78
};
79
80
81
#endif
CaloCell_Base_ID.h
Helper base class for offline cell identifiers.
CaloCellGroupList::setDefinition
bool setDefinition(const CaloCell_Base_ID *caloCellId, const std::vector< std::string > &definitions, MsgStream &logStr)
Definition
CaloCellGroup.cxx:226
CaloCellGroupList::m_groups
std::vector< CaloCellGroup > m_groups
Definition
CaloCellGroup.h:75
CaloCellGroupList::m_initialized
bool m_initialized
Definition
CaloCellGroup.h:77
CaloCellGroupList::m_defaults
std::vector< float > m_defaults
Definition
CaloCellGroup.h:76
CaloCellGroupList::printDef
void printDef() const
Definition
CaloCellGroup.cxx:302
CaloCellGroupList::CaloCellGroupList
CaloCellGroupList()
Definition
CaloCellGroup.h:61
CaloCellGroupList::valuesForCell
const std::vector< float > & valuesForCell(const Identifier id)
Definition
CaloCellGroup.cxx:267
CaloCellGroupList::getDefaults
const std::vector< float > & getDefaults() const
Definition
CaloCellGroup.h:72
CaloCellGroup::m_emecow
bool m_emecow
Definition
CaloCellGroup.h:51
CaloCellGroup::Fields
Fields
Definition
CaloCellGroup.h:28
CaloCellGroup::ETA
@ ETA
Definition
CaloCellGroup.h:31
CaloCellGroup::NFIELDS
@ NFIELDS
Definition
CaloCellGroup.h:33
CaloCellGroup::LAYER
@ LAYER
Definition
CaloCellGroup.h:29
CaloCellGroup::REGION
@ REGION
Definition
CaloCellGroup.h:30
CaloCellGroup::PHI
@ PHI
Definition
CaloCellGroup.h:32
CaloCellGroup::m_values
std::vector< float > m_values
Definition
CaloCellGroup.h:53
CaloCellGroup::m_fcal
bool m_fcal
Definition
CaloCellGroup.h:51
CaloCellGroup::m_neg
bool m_neg
Definition
CaloCellGroup.h:50
CaloCellGroup::CaloCellGroup
CaloCellGroup()
Definition
CaloCellGroup.cxx:10
CaloCellGroup::m_emb
bool m_emb
Definition
CaloCellGroup.h:51
CaloCellGroup::m_emeciw
bool m_emeciw
Definition
CaloCellGroup.h:51
CaloCellGroup::m_hec
bool m_hec
Definition
CaloCellGroup.h:51
CaloCellGroup::setDefinition
bool setDefinition(const CaloCell_Base_ID *caloCellId, const std::string &definition, MsgStream &logStr)
Definition
CaloCellGroup.cxx:23
CaloCellGroup::printDef
void printDef() const
Definition
CaloCellGroup.cxx:313
CaloCellGroup::m_pos
bool m_pos
Definition
CaloCellGroup.h:50
CaloCellGroup::getValue
const std::vector< float > & getValue() const
Definition
CaloCellGroup.h:20
CaloCellGroup::complain
static void complain(MsgStream &, const std::string &)
Definition
CaloCellGroup.cxx:219
CaloCellGroup::m_fieldBoundaries
std::vector< std::pair< int, int > > m_fieldBoundaries
Definition
CaloCellGroup.h:52
CaloCellGroup::inGroup
bool inGroup(const Identifier id) const
Definition
CaloCellGroup.cxx:166
CaloCellGroup::m_caloCellId
const CaloCell_Base_ID * m_caloCellId
Definition
CaloCellGroup.h:55
CaloCell_Base_ID
Helper base class for offline cell identifiers.
Definition
CaloCell_Base_ID.h:40
Identifier
Definition
IdentifierFieldParser.cxx:14
dump
-event-from-file
Generated on
for ATLAS Offline Software by
1.17.0