|
ATLAS Offline Software
|
Go to the documentation of this file.
30 #include "GaudiKernel/Bootstrap.h"
31 #include "GaudiKernel/ISvcLocator.h"
51 return p1->amplitude() <
p2->amplitude();
81 ATH_MSG_INFO(
"TileRawChannelVerify initialization completed" );
83 return StatusCode::SUCCESS;
102 for (; rawItr1 != end1; ++rawItr1) ++nSize1;
105 for (; rawItr2 != end2; ++rawItr2) ++nSize2;
110 if (nSize1 != nSize2) {
111 ATH_MSG_ERROR(
"The number of rawChannels is not equal in the two containers" );
112 return (StatusCode::SUCCESS);
116 vector<const TileRawChannel*> rawChannels1;
117 vector<const TileRawChannel*> rawChannels2;
121 rawItr1 = selAll1.
begin();
122 end1 = selAll1.
end();
123 for (; rawItr1 != end1; ++rawItr1)
124 rawChannels1.push_back((*rawItr1));
128 rawItr2 = selAll2.
begin();
129 end2 = selAll2.
end();
130 for (; rawItr2 != end2; ++rawItr2)
131 rawChannels2.push_back((*rawItr2));
136 rawItr1 = selAll1.
begin();
137 end1 = selAll1.
end();
139 rawItr2 = selAll2.
begin();
140 end2 = selAll2.
end();
143 bool bErrorFlag =
false;
144 bool bHeaderFlag =
true;
145 for (
int i = 0;
i < nSize1; ++
i) {
147 rawChannel1 = rawChannels1[
i];
148 rawChannel2 = rawChannels2[
i];
150 rawChannel1 = (*rawItr1);
152 rawChannel2 = (*rawItr2);
155 HWIdentifier id1 = rawChannel1->
adc_HWID();
159 double diff = fabs(amp1 - amp2);
166 msg(
MSG::VERBOSE) <<
"--------------------------------------------------------------------------------" <<
endmsg;
170 <<
" " << setw(12) << amp1
172 <<
" | " << setw(12) << amp2
181 }
else if (bErrorFlag) {
186 msg(
MSG::VERBOSE) <<
"--------------------------------------------------------------------------------" <<
endmsg;
197 ATH_MSG_INFO(
"TileRawChannelVerify execution completed successfully" );
199 return StatusCode::SUCCESS;
204 ATH_MSG_INFO(
"TileRawChannelVerify finalized successfully" );
206 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
bool m_sortFlag
if true=> TileRawChannels are sorted by amplitude
const_pointer_type cptr()
Dereference the pointer.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool m_dumpRawChannels
if true=> Differences found in the TileRawChannels are dumped on the screen
const TileHWID * m_tileHWID
Pointer to TileHWID
bool msgLvl(const MSG::Level lvl) const
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainer2Key
const std::string & key() const
Return the StoreGate ID for the referenced object.
double m_precision
maximum difference between the amplitudes of the TileRawChannels to be compared
HWIdentifier adc_HWID(void) const
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
float amplitude(int ind=0) const
StatusCode execute()
execute method
::StatusCode StatusCode
StatusCode definition for legacy code.
#define CHECK(...)
Evaluate an expression and check for errors.
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainer1Key
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
StatusCode finalize()
finalize method
Helpers for checking error return status codes and reporting errors.
virtual ~TileRawChannelVerify()
Destructor
Small class holding a single method to compare two different TileRawChannel
bool operator()(const TileRawChannel *p1, const TileRawChannel *p2)
StatusCode initialize()
initialize method
std::string to_string(const HWIdentifier &id, int level=0) const
extract all fields from HW identifier HWIdentifier get_all_fields ( const HWIdentifier & id,...
Handle class for reading from StoreGate.
TileRawChannelVerify(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.