ATLAS Offline Software
Loading...
Searching...
No Matches
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
25
26//____________________________________________________________________
31
32//____________________________________________________________________
39
40
41//____________________________________________________________________
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//____________________________________________________________________
67
68//____________________________________________________________________
70{
71 VP1MaterialButton::setMaterialParameters( m, 0.85, 0.85, 0.85, 0.1 );
72}
73
74//____________________________________________________________________
76{
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)
95 }
96 }
97
98// recheckCutStatusOfAllHandles();
99 return true;
100}
101
102//____________________________________________________________________
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//____________________________________________________________________
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)
121 else if (tightened)
123 else
125}
126
127//____________________________________________________________________
129{
130 if (m_d->requireHT==b)
131 return;
132 m_d->requireHT=b;
133 if (b)
135 else
137}
138
139//____________________________________________________________________
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//____________________________________________________________________
156{
157 return m_d->useSpecialTRTHTMaterial;
158}
InDetRawDataContainer< InDetRawDataCollection< TRT_RDORawData > > TRT_RDO_Container
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const
return const_iterator for end of container
const_iterator begin() const
return const_iterator for first entry
void message(const QString &) const
IVP1System * systemBase() const
static bool hasTRTGeometry()
static void setMaterialParameters(SoMaterial *m, const QColor &, const double &brightness=0.0, const double &transp=0.0)
void recheckCutStatusOfAllNotVisibleHandles()
VP1RawDataCollBase(VP1RawDataCommonData *, const QString &key)
void addHandle(VP1RawDataHandleBase *)
std::vector< VP1RawDataHandleBase * > & getHandles()
VP1RawDataColl_TRT_RDO(VP1RawDataCommonData *, const QString &key)
void assignDefaultMaterial(SoMaterial *) const
void setAllowedToT(const VP1Interval &)
static QStringList availableCollections(IVP1System *)
bool cut(VP1RawDataHandleBase *)
QStringList getKeys() const
QString text() const
double timeOverThreshold(unsigned int m_word)