ATLAS Offline Software
LArRawChannelBuilderToolBase.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
18 #ifndef LARROD_LARRAWCHANNELBUILDERTOOLBASE_H
19 #define LARROD_LARRAWCHANNELBUILDERTOOLBASE_H
20 
21 #include "GaudiKernel/AlgTool.h"
22 
25 #include "LArRawEvent/LArDigit.h"
26 
28 
30 
32  public virtual ILArRawChannelBuilderToolBase
33 {
34  public:
35 
36  LArRawChannelBuilderToolBase(const std::string& type,
37  const std::string& name,
38  const IInterface* parent);
41  if ( m_larRawChannelContainer !=NULL )
43  else
45  initEvent(); }
46  int energy() { return m_energy; }
47  int time() { return m_time; }
49 
50  virtual StatusCode initTool()
51  { return StatusCode::SUCCESS; };
52 
53  virtual bool buildRawChannel(const LArDigit* digit,
54  float pedestal,
55  const std::vector<float>& ramps,
56  MsgStream* pLog ) = 0;
57  void (LArRawChannelBuilderToolBase::*m_buildIt)(int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit* digit);
58 
59  void BuildLArCell(int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit* digit);
60  void BuildLArRawChannel(int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit* digit);
61 
62  protected:
63 
65  int m_energy;
66  int m_time;
68 
69 };
70 
71 inline void
72 LArRawChannelBuilderToolBase::BuildLArCell(int energy, int time, uint16_t /*iquality*/, uint16_t /*provenance*/, const LArDigit* digit){
73  m_energy = energy;
74  m_time = time;
75  m_gain = digit->gain();
76 }
77 
78 inline void
80  // It is assumed that m_larRawChannelContainer exists
81  LArRawChannel larRawChannel(digit->channelID(),
82  energy,time,
83  quality,provenance,digit->gain());
84  m_larRawChannelContainer->add(larRawChannel);
85 }
86 
87 #endif
88 
ILArRawChannelBuilderToolBase
Interface definition for tools to build LArRawChannels.
Definition: ILArRawChannelBuilderToolBase.h:24
LArRawChannelBuilderToolBaseClass.h
LArRawChannelBuilderToolBase::m_time
int m_time
Definition: LArRawChannelBuilderToolBase.h:66
LArRawChannelBuilderToolBase::BuildLArCell
void BuildLArCell(int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit *digit)
Definition: LArRawChannelBuilderToolBase.h:72
LArRawChannelBuilderParams::m_larRawChannelContainer
LArRawChannelContainer * m_larRawChannelContainer
Definition: LArRawChannelBuilderParams.h:35
checkRpcDigits.digit
digit
Definition: checkRpcDigits.py:186
LArRawChannelBuilderToolBaseClass
base Definition of all tools called by LArRawChannelBuilderDriver
Definition: LArRawChannelBuilderToolBaseClass.h:31
LArDigit.h
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
LArRawChannelContainer::add
void add(const LArRawChannel &rc)
Definition: LArRawChannelContainer.h:35
LArRawChannel
Liquid Argon ROD output object base class.
Definition: LArRawChannel.h:40
LArRawChannelBuilderToolBase::m_larRawChannelContainer
LArRawChannelContainer * m_larRawChannelContainer
Definition: LArRawChannelBuilderToolBase.h:64
LArRawChannelBuilderToolBase::energy
int energy()
Definition: LArRawChannelBuilderToolBase.h:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArRawChannelBuilderToolBase
Base tool to make the interface with the driver.
Definition: LArRawChannelBuilderToolBase.h:33
LArRawChannelBuilderToolBase::m_gain
CaloGain::CaloGain m_gain
Definition: LArRawChannelBuilderToolBase.h:67
LArRawChannelBuilderToolBase::gain
CaloGain::CaloGain gain()
Definition: LArRawChannelBuilderToolBase.h:48
LArRawChannelBuilderToolBase::buildRawChannel
virtual bool buildRawChannel(const LArDigit *digit, float pedestal, const std::vector< float > &ramps, MsgStream *pLog)=0
LArRawChannelBuilderToolBase::m_buildIt
void(LArRawChannelBuilderToolBase::* m_buildIt)(int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit *digit)
Definition: LArRawChannelBuilderToolBase.h:57
ILArRawChannelBuilderToolBase.h
LArRawChannelBuilderToolBaseClass::initEvent
virtual void initEvent()
Definition: LArRawChannelBuilderToolBaseClass.h:59
LArRawChannelBuilderToolBase::m_energy
int m_energy
Definition: LArRawChannelBuilderToolBase.h:65
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
LArRawChannelBuilderToolBase::initEventHidden
void initEventHidden()
Definition: LArRawChannelBuilderToolBase.h:39
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
LArRawChannelBuilderToolBase::initTool
virtual StatusCode initTool()
Definition: LArRawChannelBuilderToolBase.h:50
LArRawChannelBuilderToolBase::time
int time()
Definition: LArRawChannelBuilderToolBase.h:47
LArRawChannelBuilderToolBaseClass::m_parent
LArRawChannelBuilderParams * m_parent
Definition: LArRawChannelBuilderToolBaseClass.h:80
LArRawChannelBuilderToolBase::BuildLArRawChannel
void BuildLArRawChannel(int energy, int time, uint16_t quality, uint16_t provenance, const LArDigit *digit)
Definition: LArRawChannelBuilderToolBase.h:79
LArRawChannelBuilderToolBase::LArRawChannelBuilderToolBase
LArRawChannelBuilderToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: LArRawChannelBuilderToolBase.cxx:8
LArRawChannelContainer.h
LArRawChannelContainer
Container for LArRawChannel (IDC using LArRawChannelCollection)
Definition: LArRawChannelContainer.h:26