ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
LArRawDetSelector Class Reference

This class provide access to LArRawChannels in each sub detector Input: LAr Detector Identifier Allowed are lar_em lar_hec lar_fcal. More...

#include <LArRawDetSelector.h>

Collaboration diagram for LArRawDetSelector:

Public Member Functions

 LArRawDetSelector (const LArRawChannelContainer *c=NULL)
 
virtual ~LArRawDetSelector ()
 
void setDet (const Identifier &id)
 
void setDet (const HWIdentifier &chid)
 
virtual bool select (const LArRawChannel *rawchan)
 

Private Attributes

const LArOnlineIDm_onlineID
 
const CaloCell_IDm_caloCellID
 
bool m_em
 
bool m_hec
 
bool m_fcal
 

Detailed Description

This class provide access to LArRawChannels in each sub detector Input: LAr Detector Identifier Allowed are lar_em lar_hec lar_fcal.

Definition at line 22 of file LArRawDetSelector.h.

Constructor & Destructor Documentation

◆ LArRawDetSelector()

LArRawDetSelector::LArRawDetSelector ( const LArRawChannelContainer c = NULL)

Definition at line 15 of file LArRawDetSelector.cxx.

16  : m_onlineID(nullptr),
17  m_caloCellID(nullptr),
18  m_em(false),
19  m_hec(false),
20  m_fcal(false)
21 {
22 
23  ISvcLocator* svcLoc = Gaudi::svcLocator( );
24 
25  IMessageSvc* msgSvc;
26 
27  StatusCode sc=svcLoc->service("MessageSvc", msgSvc);
28  if (sc.isFailure()) {
29  std::cerr << "LArRawDetSelector: Could not get MessageSvc!" << std::endl;
30  return;
31  }
32 
33  MsgStream log(msgSvc,"LArRawDetSelector");
34 
35  StoreGateSvc* sg;
36  if(svcLoc->service( "DetectorStore",sg).isFailure()) {
37  log << MSG::ERROR << "Faild to get DetectorStore" << endmsg;
38  return;
39  }
40  if(sg->retrieve(m_onlineID).isFailure()) {
41  log << MSG::ERROR << "Faild to get LArOnlineID helper" << endmsg;
42  return;
43  }
44  if(sg->retrieve(m_caloCellID).isFailure()) {
45  log << MSG::ERROR << "Faild to get LArOnlineID helper" << endmsg;
46  return;
47  }
48  }

◆ ~LArRawDetSelector()

virtual LArRawDetSelector::~LArRawDetSelector ( )
inlinevirtual

Definition at line 27 of file LArRawDetSelector.h.

27 {}

Member Function Documentation

◆ select()

bool LArRawDetSelector::select ( const LArRawChannel rawchan)
virtual

Definition at line 68 of file LArRawDetSelector.cxx.

68  {
69 
70  const HWIdentifier chid=rc->identify();
71 
72  if(m_em && (m_onlineID->isEMBchannel(chid) || m_onlineID->isEMECchannel(chid))) return true;
73 
74  if(m_hec && m_onlineID->isHECchannel(chid)) return true;
75 
76  if(m_fcal && m_onlineID->isFCALchannel(chid)) return true;
77 
78  return false;
79 }

◆ setDet() [1/2]

void LArRawDetSelector::setDet ( const HWIdentifier chid)

Definition at line 58 of file LArRawDetSelector.cxx.

58  {
59 
61  m_hec = m_onlineID->isHECchannel(chid);
63 
64 }

◆ setDet() [2/2]

void LArRawDetSelector::setDet ( const Identifier id)

Definition at line 50 of file LArRawDetSelector.cxx.

50  {
51 
52  m_em = m_caloCellID->is_lar_em(id) ;
55 
56 }

Member Data Documentation

◆ m_caloCellID

const CaloCell_ID* LArRawDetSelector::m_caloCellID
private

Definition at line 36 of file LArRawDetSelector.h.

◆ m_em

bool LArRawDetSelector::m_em
private

Definition at line 37 of file LArRawDetSelector.h.

◆ m_fcal

bool LArRawDetSelector::m_fcal
private

Definition at line 39 of file LArRawDetSelector.h.

◆ m_hec

bool LArRawDetSelector::m_hec
private

Definition at line 38 of file LArRawDetSelector.h.

◆ m_onlineID

const LArOnlineID* LArRawDetSelector::m_onlineID
private

Definition at line 35 of file LArRawDetSelector.h.


The documentation for this class was generated from the following files:
LArRawDetSelector::m_em
bool m_em
Definition: LArRawDetSelector.h:37
AtlasDetectorID::is_lar_fcal
bool is_lar_fcal(Identifier id) const
Definition: AtlasDetectorID.h:839
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
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
LArRawDetSelector::m_hec
bool m_hec
Definition: LArRawDetSelector.h:38
LArOnlineID_Base::isFCALchannel
bool isFCALchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1657
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
LArOnlineID::isEMECchannel
bool isEMECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:774
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AtlasDetectorID::is_lar_hec
bool is_lar_hec(Identifier id) const
Definition: AtlasDetectorID.h:829
LArOnlineID_Base::isEMBchannel
bool isEMBchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1652
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
LArOnlineID::isHECchannel
bool isHECchannel(const HWIdentifier id) const override final
Definition: LArOnlineID.cxx:734
LArRawDetSelector::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArRawDetSelector.h:35
AtlasDetectorID::is_lar_em
bool is_lar_em(Identifier id) const
Definition: AtlasDetectorID.h:818
python.trfValidateRootFile.rc
rc
Definition: trfValidateRootFile.py:357