ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1Systems
VP1RawDataSystems
src
VP1RawDataColl_TRT_RDO.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
7
// //
8
// Implementation of class VP1RawDataColl_TRT_RDO //
9
// //
10
// Author: Thomas H. Kittelmann (Thomas.Kittelmann@cern.ch) //
11
// Initial version: January 2009 //
12
// //
14
15
#include "
VP1RawDataSystems/VP1RawDataCommonData.h
"
16
#include "
VP1RawDataSystems/VP1RawDataSysController.h
"
17
#include "
VP1RawDataSystems/VP1RawDataColl_TRT_RDO.h
"
18
#include "
VP1RawDataSystems/VP1RawDataHandle_TRT_RDO.h
"
19
#include "
VP1Utils/VP1JobConfigInfo.h
"
20
#include "
VP1Base/VP1MaterialButton.h
"
21
#include "
VP1Utils/VP1SGContentsHelper.h
"
22
#include "
VP1Utils/VP1SGAccessHelper.h
"
23
#include "
InDetRawData/TRT_RDO_Container.h
"
24
#include "
InDetRawData/TRT_LoLumRawData.h
"
25
26
//____________________________________________________________________
27
QStringList
VP1RawDataColl_TRT_RDO::availableCollections
(
IVP1System
*sys)
28
{
29
return
VP1SGContentsHelper
(sys).
getKeys
<
TRT_RDO_Container
>();
30
}
31
32
//____________________________________________________________________
33
class
VP1RawDataColl_TRT_RDO::Imp
{
34
public
:
35
VP1Interval
allowedToT
;
36
bool
requireHT
=
false
;
37
bool
useSpecialTRTHTMaterial
=
false
;
38
};
39
40
41
//____________________________________________________________________
42
VP1RawDataColl_TRT_RDO::VP1RawDataColl_TRT_RDO
(
VP1RawDataCommonData
*
common
,
const
QString& key)
43
:
VP1RawDataCollBase
(
common
,key),
m_d
(new
Imp
)
44
{
45
m_d
->requireHT =
true
;
46
m_d
->useSpecialTRTHTMaterial =
true
;
47
m_d
->allowedToT =
VP1Interval
();
48
49
connect(
common
->controller(),SIGNAL(trtAllowedToTChanged(
const
VP1Interval
&)),
50
this
,SLOT(
setAllowedToT
(
const
VP1Interval
&)));
51
setAllowedToT
(
common
->controller()->trtAllowedToT());
52
53
connect(
common
->controller(),SIGNAL(trtRequireHTChanged(
bool
)),
54
this
,SLOT(
setRequireHT
(
bool
)));
55
setRequireHT
(
common
->controller()->trtRequireHT());
56
57
connect(
common
->controller(),SIGNAL(useSpecialTRTHTMaterialChanged(
bool
)),
58
this
,SLOT(
setUseSpecialTRTHTMaterial
(
bool
)));
59
setUseSpecialTRTHTMaterial
(
common
->controller()->useSpecialTRTHTMaterial());
60
}
61
62
//____________________________________________________________________
63
VP1RawDataColl_TRT_RDO::~VP1RawDataColl_TRT_RDO
()
64
{
65
delete
m_d
;
66
}
67
68
//____________________________________________________________________
69
void
VP1RawDataColl_TRT_RDO::assignDefaultMaterial
(SoMaterial*m)
const
70
{
71
VP1MaterialButton::setMaterialParameters
( m, 0.85, 0.85, 0.85, 0.1 );
72
}
73
74
//____________________________________________________________________
75
bool
VP1RawDataColl_TRT_RDO::load
()
76
{
77
if
(!
VP1JobConfigInfo::hasTRTGeometry
()) {
78
message
(
"TRT geometry not configured in job"
);
79
return
false
;
80
}
81
const
TRT_RDO_Container
* rdoContainer;
82
if
(!
VP1SGAccessHelper
(
systemBase
()).retrieve(rdoContainer,
text
())) {
83
message
(
"Problems retrieving container with key "
+
text
());
84
return
false
;
85
}
86
TRT_RDO_Container::const_iterator
itColl(rdoContainer->
begin
()), itCollE(rdoContainer->
end
());
87
for
(;itColl!=itCollE;++itColl) {
88
if
(!*itColl||(*itColl)->empty())
89
continue
;
90
TRT_RDO_Collection::const_iterator
itRDO((*itColl)->begin()), itRDOE((*itColl)->end());
91
for
(;itRDO!=itRDOE;++itRDO) {
92
const
TRT_LoLumRawData
* rdo =
dynamic_cast<
const
TRT_LoLumRawData
*
>
(*itRDO);
93
if
(rdo)
94
addHandle
(
new
VP1RawDataHandle_TRT_RDO
(
this
,rdo));
95
}
96
}
97
98
// recheckCutStatusOfAllHandles();
99
return
true
;
100
}
101
102
//____________________________________________________________________
103
bool
VP1RawDataColl_TRT_RDO::cut
(
VP1RawDataHandleBase
* handle)
104
{
105
106
if
(
m_d
->requireHT && !
static_cast<
VP1RawDataHandle_TRT_RDO
*
>
(handle)->
highThreshold
())
107
return
false
;
108
return
m_d
->allowedToT.contains(
static_cast<
VP1RawDataHandle_TRT_RDO
*
>
(handle)->
timeOverThreshold
());
109
}
110
111
//____________________________________________________________________
112
void
VP1RawDataColl_TRT_RDO::setAllowedToT
(
const
VP1Interval
& i)
113
{
114
if
(
m_d
->allowedToT==i)
115
return
;
116
bool
relaxed(i.contains(
m_d
->allowedToT));
117
bool
tightened(
m_d
->allowedToT.contains(i));
118
m_d
->allowedToT=i;
119
if
(relaxed)
120
recheckCutStatusOfAllNotVisibleHandles
();
121
else
if
(tightened)
122
recheckCutStatusOfAllVisibleHandles
();
123
else
124
recheckCutStatusOfAllHandles
();
125
}
126
127
//____________________________________________________________________
128
void
VP1RawDataColl_TRT_RDO::setRequireHT
(
bool
b)
129
{
130
if
(
m_d
->requireHT==b)
131
return
;
132
m_d
->requireHT=b;
133
if
(b)
134
recheckCutStatusOfAllVisibleHandles
();
135
else
136
recheckCutStatusOfAllNotVisibleHandles
();
137
}
138
139
//____________________________________________________________________
140
void
VP1RawDataColl_TRT_RDO::setUseSpecialTRTHTMaterial
(
bool
b)
141
{
142
if
(
m_d
->useSpecialTRTHTMaterial==b)
143
return
;
144
m_d
->useSpecialTRTHTMaterial=b;
145
146
std::vector<VP1RawDataHandleBase*>::iterator it(
getHandles
().begin()),itE(
getHandles
().end());
147
for
(;it!=itE;++it) {
148
if
(
static_cast<
VP1RawDataHandle_TRT_RDO
*
>
(*it)->
highThreshold
())
149
(*it)->update3DObjects();
150
}
151
152
}
153
154
//____________________________________________________________________
155
bool
VP1RawDataColl_TRT_RDO::useSpecialHTMat
()
156
{
157
return
m_d
->useSpecialTRTHTMaterial;
158
}
TRT_LoLumRawData.h
TRT_RDO_Container.h
TRT_RDO_Container
InDetRawDataContainer< InDetRawDataCollection< TRT_RDORawData > > TRT_RDO_Container
Definition
TRT_RDO_Container.h:26
VP1JobConfigInfo.h
VP1MaterialButton.h
VP1RawDataColl_TRT_RDO.h
VP1RawDataCommonData.h
VP1RawDataHandle_TRT_RDO.h
VP1RawDataSysController.h
VP1SGAccessHelper.h
VP1SGContentsHelper.h
InDetRawDataCollection< TRT_RDORawData >::const_iterator
DataModel_detail::const_iterator< DataVector > const_iterator
Definition
DataVector.h:838
IVP1System
Definition
IVP1System.h:36
IdentifiableContainerMT::const_iterator
Definition
IdentifiableContainerMT.h:82
IdentifiableContainerMT::end
const_iterator end() const
return const_iterator for end of container
Definition
IdentifiableContainerMT.h:248
IdentifiableContainerMT::begin
const_iterator begin() const
return const_iterator for first entry
Definition
IdentifiableContainerMT.h:242
TRT_LoLumRawData
Definition
TRT_LoLumRawData.h:25
VP1HelperClassBase::message
void message(const QString &) const
Definition
VP1HelperClassBase.cxx:49
VP1HelperClassBase::systemBase
IVP1System * systemBase() const
Definition
VP1HelperClassBase.h:50
VP1Interval
Definition
VP1Interval.h:23
VP1JobConfigInfo::hasTRTGeometry
static bool hasTRTGeometry()
Definition
VP1JobConfigInfo.cxx:133
VP1MaterialButton::setMaterialParameters
static void setMaterialParameters(SoMaterial *m, const QColor &, const double &brightness=0.0, const double &transp=0.0)
Definition
VP1MaterialButton.cxx:802
VP1RawDataCollBase::recheckCutStatusOfAllNotVisibleHandles
void recheckCutStatusOfAllNotVisibleHandles()
Definition
VP1RawDataCollBase.cxx:228
VP1RawDataCollBase::recheckCutStatusOfAllVisibleHandles
void recheckCutStatusOfAllVisibleHandles()
Definition
VP1RawDataCollBase.cxx:211
VP1RawDataCollBase::VP1RawDataCollBase
VP1RawDataCollBase(VP1RawDataCommonData *, const QString &key)
Definition
VP1RawDataCollBase.cxx:41
VP1RawDataCollBase::recheckCutStatusOfAllHandles
void recheckCutStatusOfAllHandles()
Definition
VP1RawDataCollBase.cxx:194
VP1RawDataCollBase::addHandle
void addHandle(VP1RawDataHandleBase *)
Definition
VP1RawDataCollBase.cxx:150
VP1RawDataCollBase::getHandles
std::vector< VP1RawDataHandleBase * > & getHandles()
Definition
VP1RawDataCollBase.cxx:242
VP1RawDataColl_TRT_RDO::Imp
Definition
VP1RawDataColl_TRT_RDO.cxx:33
VP1RawDataColl_TRT_RDO::Imp::useSpecialTRTHTMaterial
bool useSpecialTRTHTMaterial
Definition
VP1RawDataColl_TRT_RDO.cxx:37
VP1RawDataColl_TRT_RDO::Imp::allowedToT
VP1Interval allowedToT
Definition
VP1RawDataColl_TRT_RDO.cxx:35
VP1RawDataColl_TRT_RDO::Imp::requireHT
bool requireHT
Definition
VP1RawDataColl_TRT_RDO.cxx:36
VP1RawDataColl_TRT_RDO::VP1RawDataColl_TRT_RDO
VP1RawDataColl_TRT_RDO(VP1RawDataCommonData *, const QString &key)
Definition
VP1RawDataColl_TRT_RDO.cxx:42
VP1RawDataColl_TRT_RDO::assignDefaultMaterial
void assignDefaultMaterial(SoMaterial *) const
Definition
VP1RawDataColl_TRT_RDO.cxx:69
VP1RawDataColl_TRT_RDO::setAllowedToT
void setAllowedToT(const VP1Interval &)
Definition
VP1RawDataColl_TRT_RDO.cxx:112
VP1RawDataColl_TRT_RDO::setUseSpecialTRTHTMaterial
void setUseSpecialTRTHTMaterial(bool)
Definition
VP1RawDataColl_TRT_RDO.cxx:140
VP1RawDataColl_TRT_RDO::load
bool load()
Definition
VP1RawDataColl_TRT_RDO.cxx:75
VP1RawDataColl_TRT_RDO::setRequireHT
void setRequireHT(bool)
Definition
VP1RawDataColl_TRT_RDO.cxx:128
VP1RawDataColl_TRT_RDO::availableCollections
static QStringList availableCollections(IVP1System *)
Definition
VP1RawDataColl_TRT_RDO.cxx:27
VP1RawDataColl_TRT_RDO::m_d
Imp * m_d
Definition
VP1RawDataColl_TRT_RDO.h:54
VP1RawDataColl_TRT_RDO::~VP1RawDataColl_TRT_RDO
virtual ~VP1RawDataColl_TRT_RDO()
Definition
VP1RawDataColl_TRT_RDO.cxx:63
VP1RawDataColl_TRT_RDO::cut
bool cut(VP1RawDataHandleBase *)
Definition
VP1RawDataColl_TRT_RDO.cxx:103
VP1RawDataColl_TRT_RDO::useSpecialHTMat
bool useSpecialHTMat()
Definition
VP1RawDataColl_TRT_RDO.cxx:155
VP1RawDataCommonData
Definition
VP1RawDataCommonData.h:31
VP1RawDataHandleBase
Definition
VP1RawDataHandleBase.h:34
VP1RawDataHandle_TRT_RDO
Definition
VP1RawDataHandle_TRT_RDO.h:25
VP1RawDataHandle_TRT_RDO::highThreshold
bool highThreshold() const
Definition
VP1RawDataHandle_TRT_RDO.cxx:142
VP1SGAccessHelper
Definition
VP1SGAccessHelper.h:25
VP1SGContentsHelper
Definition
VP1SGContentsHelper.h:26
VP1SGContentsHelper::getKeys
QStringList getKeys() const
Definition
VP1SGContentsHelper.h:55
VP1StdCollection::text
QString text() const
Definition
VP1StdCollection.cxx:132
timeOverThreshold
double timeOverThreshold(unsigned int m_word)
Definition
driftCircle.h:116
common
Definition
common.py:1
Generated on
for ATLAS Offline Software by
1.17.0