ATLAS Offline Software
LArRawDetSelector.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
8 
9 #include "GaudiKernel/Bootstrap.h"
10 #include "GaudiKernel/ISvcLocator.h"
11 #include "GaudiKernel/MsgStream.h"
12 #include "GaudiKernel/IMessageSvc.h"
14 #include "StoreGate/StoreGateSvc.h"
15 
17  : m_onlineID(nullptr),
18  m_caloCellID(nullptr),
19  m_em(false),
20  m_hec(false),
21  m_fcal(false)
22 {
23  SmartIF<StoreGateSvc> detStore{Gaudi::svcLocator()->service("DetectorStore")};
24 
25  detStore->retrieve(m_onlineID).orThrow(
26  "Faild to get LArOnlineID helper");
27 
28  detStore->retrieve(m_caloCellID).orThrow(
29  "Faild to get LArOnlineID helper");
30 }
31 
33 
34  m_em = m_caloCellID->is_lar_em(id) ;
37 
38 }
39 
41 
43  m_hec = m_onlineID->isHECchannel(chid);
45 
46 }
47 
48 
49 
51 
52  const HWIdentifier chid=rc->identify();
53 
54  if(m_em && (m_onlineID->isEMBchannel(chid) || m_onlineID->isEMECchannel(chid))) return true;
55 
56  if(m_hec && m_onlineID->isHECchannel(chid)) return true;
57 
58  if(m_fcal && m_onlineID->isFCALchannel(chid)) return true;
59 
60  return false;
61 }
62 
LArRawDetSelector::m_em
bool m_em
Definition: LArRawDetSelector.h:37
LArRawDetSelector::select
virtual bool select(const LArRawChannel *rawchan)
Definition: LArRawDetSelector.cxx:50
AtlasDetectorID::is_lar_fcal
bool is_lar_fcal(Identifier id) const
Definition: AtlasDetectorID.h:839
LArRawDetSelector::setDet
void setDet(const Identifier &id)
Definition: LArRawDetSelector.cxx:32
LArRawDetSelector::m_caloCellID
const CaloCell_ID * m_caloCellID
Definition: LArRawDetSelector.h:36
LArRawDetSelector::m_fcal
bool m_fcal
Definition: LArRawDetSelector.h:39
HWIdentifier
Definition: HWIdentifier.h:13
LArRawDetSelector::m_hec
bool m_hec
Definition: LArRawDetSelector.h:38
LArOnlineID_Base::isFCALchannel
bool isFCALchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1653
LArRawDetSelector::LArRawDetSelector
LArRawDetSelector(const LArRawChannelContainer *c=NULL)
Definition: LArRawDetSelector.cxx:16
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
LArOnlineID::isEMECchannel
bool isEMECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:763
LArRawChannel
Liquid Argon ROD output object base class.
Definition: LArRawChannel.h:40
AtlasDetectorID::is_lar_hec
bool is_lar_hec(Identifier id) const
Definition: AtlasDetectorID.h:829
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
errorcheck.h
Helpers for checking error return status codes and reporting errors.
LArOnlineID_Base::isEMBchannel
bool isEMBchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1648
LArRawDetSelector.h
LArOnlineID::isHECchannel
bool isHECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:723
LArRawDetSelector::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArRawDetSelector.h:35
StoreGateSvc.h
AtlasDetectorID::is_lar_em
bool is_lar_em(Identifier id) const
Definition: AtlasDetectorID.h:818
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26
Identifier
Definition: IdentifierFieldParser.cxx:14