Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
19 #include "GaudiKernel/IToolSvc.h"
50 (
const std::string&
type,
51 const std::string&
name,
57 m_CaloType(
"EMHECFCAL"),
63 m_dump_gain(
"HIGHMEDIUMLOW"),
74 declareProperty(
"SaveSCAAddress",
m_savesca);
186 return StatusCode::SUCCESS;
200 StatusCode sc = evtStore()->retrieve(larFebHeaderContainer);
201 if (
sc.isFailure() || !larFebHeaderContainer) {
202 ATH_MSG_DEBUG(
"Cannot read LArFebHeaderContainer from StoreGate! SCA address not saved." );
203 larFebHeaderContainer=NULL;
210 if (
sc.isFailure()) {
211 ATH_MSG_DEBUG(
"Can't retrieve LArOFIterResultsContainer from StoreGate." );
214 ATH_MSG_DEBUG(
"Got LArOFIterResultsContainer from StoreGate." );
220 size_t febHeaderContIdx=0;
221 size_t ofcIterContIdx=0;
222 size_t ofcIterContIdx_temp=0;
233 return StatusCode::FAILURE;
270 const std::vector<short>& vSamples=
digit.samples();
272 size_t n=vSamples.size();
274 const bool connected=
cabling->isOnlineConnected(chid);
280 (*m_samples).resize(
n);
281 for (
size_t i=0;
i<
n;++
i) {
282 (*m_samples)[
i] = vSamples[
i] ;
311 ATH_MSG_WARNING(
"LArDigit Id "<< MSG::hex <<
id.get_compact() << MSG::dec
313 <<
") appears to be neither EM nor HEC nor FCAL." );
335 ATH_MSG_DEBUG(
" m_savesca and FebHead, OFIterCont " <<
m_savesca <<
" " << larFebHeaderContainer <<
" " <<larOFIterCont );
340 if (larFebHeaderContainer ){
342 const size_t febHead_s=larFebHeaderContainer->
size();
345 for(;febHeaderContIdx<febHead_s && chanFebId!=larFebHeaderContainer->
at(febHeaderContIdx)->FEBId();
349 if (febHeaderContIdx<febHead_s) {
350 const std::vector<unsigned short>& sca=larFebHeaderContainer->
at(febHeaderContIdx)->
SCA();
362 for (
size_t i=0;
i<
n;++
i) {
370 ATH_MSG_ERROR(
"LArDigitContainer and LArFebHeaderContainer out of sync!" );
385 const size_t iterRes_s=larOFIterCont->size();
387 ofcIterContIdx_temp = ofcIterContIdx;
389 for(;ofcIterContIdx<iterRes_s && chid!=larOFIterCont->at(ofcIterContIdx).getChannelID();++ofcIterContIdx)
393 if( ofcIterContIdx>=iterRes_s) {
396 <<
" in LArOFIterResultsContainer. CellIndex="<<
m_cellIndex );
398 ofcIterContIdx = ofcIterContIdx_temp;
414 return StatusCode::FAILURE;
442 return StatusCode::SUCCESS ;
def retrieve(aClass, aKey=None)
int phi(const Identifier id) const
return phi according to :
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
unsigned getOFCIndex() const
const LArEM_ID * em_idHelper() const
access to EM idHelper
bool is_lar_fcal(Identifier id) const
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
int module(const Identifier id) const
module [1,3]
value_type get_compact() const
Get the compact id.
int sampling(const Identifier id) const
return sampling according to :
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
Add a variable to the tuple.
const std::string & key() const
Return the StoreGate ID for the referenced object.
float getDelay_final() const
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
int eta(const Identifier id) const
return eta according to :
int eta(const Identifier id) const
eta [0,63] module 1 ; [0,31] module 2 ; [0,15] module 3
const LArHEC_ID * hec_idHelper() const
access to HEC idHelper
int phi(const Identifier id) const
phi [0,15]
Block filler tool for noisy FEB information.
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
Liquid Argon digit base class.
unsigned getPeakSample_final() const
::StatusCode StatusCode
StatusCode definition for legacy code.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
#define CHECK(...)
Evaluate an expression and check for errors.
bool is_lar_hec(Identifier id) const
Helper class for offline cell identifiers.
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
float getAmplitude() const
bool getConverged() const
Helpers for checking error return status codes and reporting errors.
StatusCode initialize(bool used=true)
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
#define ATH_MSG_WARNING(x)
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
const T * at(size_type n) const
Access an element, as an rvalue.
HWIdentifier getChannelID() const
bool is_lar_em(Identifier id) const
size_type size() const noexcept
Returns the number of elements in the collection.
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
int phi(const Identifier id) const
return phi[0,63] outer part [0,31] inner part