ATLAS Offline Software
Loading...
Searching...
No Matches
Ringer::BuildCaloRingsJetFctor< container_t > Class Template Reference

#include <CaloRingerReaderJetUtils.h>

Inheritance diagram for Ringer::BuildCaloRingsJetFctor< container_t >:
Collaboration diagram for Ringer::BuildCaloRingsJetFctor< container_t >:

Public Types

typedef container_t::base_value_type particle_t
 Particle type that the functor will decorate the CaloRingsLinks.
typedef SG::WriteDecorHandle< container_t, xAOD::CaloRingsLinksdecor_t
 CaloRings links decorator handle type.

Public Member Functions

 BuildCaloRingsJetFctor (const std::string &decoContName, ToolHandle< ICaloRingsBuilder > &builder, IMessageSvc *msgSvc, IDataHandleHolder *owningAlg)
 Main ctor, repass information for interface.
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.
void operator() (const particle_t *part)
 Methods.
StatusCode initialize ()
 Initialize the decorator keys.
StatusCode prepareJetToLoopFor (std::size_t nParticles)
 Prepare to loop for nParticles.
void checkJetRelease ()
 Release the handles when finished looping.

Protected Member Functions

void incrementCounter ()
 Increment particle looping counter.

Private Types

typedef BuildCaloRingsJetFctorBase base_t

Private Member Functions

void displayLoopingMessage () const
 Shows current looping status.
void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

SG::WriteDecorHandleKey< container_t > m_decorKey
 Decorator key.
decor_tm_decor {nullptr}
 Write decorator handle.
ToolHandle< ICaloRingsBuilder > & m_builder
 Protected Properties.
size_t m_part_counter
 Hold number of particles already procesed for this event:
size_t m_part_size
 Hold number of particles to be processed:
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels)
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging)
SG::WriteHandle< xAOD::CaloRingsContainer > * m_crContH
 Private Properties.
SG::WriteHandle< xAOD::RingSetContainer > * m_rsContH
 Keep RingSetContainer handle in scope until finished looping.

Static Private Attributes

static constexpr const char * m_particle_name = Ringer::GetParticleProp<particle_t>::name
 Holds particle name:

Detailed Description

template<typename container_t>
class Ringer::BuildCaloRingsJetFctor< container_t >

Definition at line 107 of file CaloRingerReaderJetUtils.h.

Member Typedef Documentation

◆ base_t

template<typename container_t>
typedef BuildCaloRingsJetFctorBase Ringer::BuildCaloRingsJetFctor< container_t >::base_t
private

Definition at line 117 of file CaloRingerReaderJetUtils.h.

◆ decor_t

template<typename container_t>
typedef SG::WriteDecorHandle< container_t, xAOD::CaloRingsLinks > Ringer::BuildCaloRingsJetFctor< container_t >::decor_t

CaloRings links decorator handle type.

Definition at line 114 of file CaloRingerReaderJetUtils.h.

◆ particle_t

template<typename container_t>
typedef container_t::base_value_type Ringer::BuildCaloRingsJetFctor< container_t >::particle_t

Particle type that the functor will decorate the CaloRingsLinks.

Definition at line 111 of file CaloRingerReaderJetUtils.h.

Constructor & Destructor Documentation

◆ BuildCaloRingsJetFctor()

template<typename container_t>
Ringer::BuildCaloRingsJetFctor< container_t >::BuildCaloRingsJetFctor ( const std::string & decoContName,
ToolHandle< ICaloRingsBuilder > & builder,
IMessageSvc * msgSvc,
IDataHandleHolder * owningAlg )
inline

Main ctor, repass information for interface.

Definition at line 147 of file CaloRingerReaderJetUtils.h.

153 builder,
154 msgSvc,
155 owningAlg->name()),
157 { m_decorKey.setOwner(owningAlg);}
BuildCaloRingsJetFctorBase(ToolHandle< ICaloRingsBuilder > &builder, IMessageSvc *msgSvc, const std::string &name)
Main ctor Initialize values.
SG::WriteDecorHandleKey< container_t > m_decorKey
Decorator key.

Member Function Documentation

◆ checkJetRelease()

template<typename container_t>
void Ringer::BuildCaloRingsJetFctor< container_t >::checkJetRelease ( )

Release the handles when finished looping.

◆ displayLoopingMessage()

template<typename container_t>
void Ringer::BuildCaloRingsJetFctor< container_t >::displayLoopingMessage ( ) const
private

Shows current looping status.

◆ incrementCounter()

void Ringer::BuildCaloRingsJetFctorBase::incrementCounter ( )
inlineprotectedinherited

Increment particle looping counter.

Definition at line 81 of file CaloRingerReaderJetUtils.h.

81{ ++m_part_counter; }
size_t m_part_counter
Hold number of particles already procesed for this event:

◆ initialize()

template<typename container_t>
StatusCode Ringer::BuildCaloRingsJetFctor< container_t >::initialize ( )

Initialize the decorator keys.

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 163 of file AthMessaging.h.

164{
165 MsgStream* ms = m_msg_tls.get();
166 if (!ms) {
167 if (!m_initialized.test_and_set()) initMessaging();
168 ms = new MsgStream(m_imsg,m_nm);
169 m_msg_tls.reset( ms );
170 }
171
172 ms->setLevel (m_lvl);
173 return *ms;
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 178 of file AthMessaging.h.

179{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 if (m_lvl <= lvl) {
154 msg() << lvl;
155 return true;
156 } else {
157 return false;
158 }
159}

◆ operator()()

template<typename container_t>
void Ringer::BuildCaloRingsJetFctor< container_t >::operator() ( const particle_t * part)

Methods.

Looping functor method when it has access to cluster.

◆ prepareJetToLoopFor()

template<typename container_t>
StatusCode Ringer::BuildCaloRingsJetFctor< container_t >::prepareJetToLoopFor ( std::size_t nParticles)

Prepare to loop for nParticles.

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_builder

template<typename container_t>
ToolHandle<ICaloRingsBuilder>& Ringer::BuildCaloRingsJetFctorBase::m_builder
private

Protected Properties.

CaloRings which will be used

Definition at line 64 of file CaloRingerReaderJetUtils.h.

◆ m_crContH

SG::WriteHandle<xAOD::CaloRingsContainer>* Ringer::BuildCaloRingsJetFctorBase::m_crContH
privateinherited

Private Properties.

Keep CaloRingsContainer handle in scope until finished looping

Definition at line 95 of file CaloRingerReaderJetUtils.h.

◆ m_decor

template<typename container_t>
decor_t* Ringer::BuildCaloRingsJetFctor< container_t >::m_decor {nullptr}
private

Write decorator handle.

Definition at line 141 of file CaloRingerReaderJetUtils.h.

141{nullptr};

◆ m_decorKey

template<typename container_t>
SG::WriteDecorHandleKey< container_t > Ringer::BuildCaloRingsJetFctor< container_t >::m_decorKey
private

Decorator key.

Definition at line 136 of file CaloRingerReaderJetUtils.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_part_counter

template<typename container_t>
size_t Ringer::BuildCaloRingsJetFctorBase::m_part_counter
private

Hold number of particles already procesed for this event:

Definition at line 66 of file CaloRingerReaderJetUtils.h.

◆ m_part_size

template<typename container_t>
size_t Ringer::BuildCaloRingsJetFctorBase::m_part_size
private

Hold number of particles to be processed:

Definition at line 68 of file CaloRingerReaderJetUtils.h.

◆ m_particle_name

template<typename container_t>
const char* Ringer::BuildCaloRingsJetFctor< container_t >::m_particle_name = Ringer::GetParticleProp<particle_t>::name
staticconstexprprivate

Holds particle name:

Definition at line 126 of file CaloRingerReaderJetUtils.h.

◆ m_rsContH

SG::WriteHandle<xAOD::RingSetContainer>* Ringer::BuildCaloRingsJetFctorBase::m_rsContH
privateinherited

Keep RingSetContainer handle in scope until finished looping.

Definition at line 97 of file CaloRingerReaderJetUtils.h.


The documentation for this class was generated from the following file: