ATLAS Offline Software
Loading...
Searching...
No Matches
McEtIsolVisitor< TruthParticleContainer_pX > Class Template Reference

#include <McEtIsolVisitor.h>

Inheritance diagram for McEtIsolVisitor< TruthParticleContainer_pX >:
Collaboration diagram for McEtIsolVisitor< TruthParticleContainer_pX >:

Public Member Functions

 McEtIsolVisitor (const McEtIsolVisitor &rhs)
 Copy constructor:
 McEtIsolVisitor (const TruthParticleContainer_pX &persObj, TruthEtIsolations *etIsols, MsgStream &msg)
 Constructor with parameters:
virtual ~McEtIsolVisitor ()
 Destructor:
virtual void visit (TruthParticle *truthParticle) const
 The method to visit a TruthParticle to apply further modifications to the instance at hand.

Protected Member Functions

 McEtIsolVisitor ()
 Default constructor:
McEtIsolVisitoroperator= (const McEtIsolVisitor &rhs)
 Assignment operator:

Private Attributes

MsgStream * m_msg
const TruthParticleContainer_pX & m_persObj
TruthEtIsolationsm_etIsols

Detailed Description

template<class TruthParticleContainer_pX>
class McEtIsolVisitor< TruthParticleContainer_pX >

Definition at line 29 of file McEtIsolVisitor.h.

Constructor & Destructor Documentation

◆ McEtIsolVisitor() [1/3]

template<class TruthParticleContainer_pX>
McEtIsolVisitor< TruthParticleContainer_pX >::McEtIsolVisitor ( const McEtIsolVisitor< TruthParticleContainer_pX > & rhs)
inline

Copy constructor:

Definition at line 39 of file McEtIsolVisitor.h.

39 :
41 m_msg ( rhs.m_msg ),
44 {}
ITruthParticleVisitor()
Default constructor:
const TruthParticleContainer_pX & m_persObj
TruthEtIsolations * m_etIsols
MsgStream * m_msg

◆ McEtIsolVisitor() [2/3]

template<class TruthParticleContainer_pX>
McEtIsolVisitor< TruthParticleContainer_pX >::McEtIsolVisitor ( const TruthParticleContainer_pX & persObj,
TruthEtIsolations * etIsols,
MsgStream & msg )
inline

Constructor with parameters:

Definition at line 48 of file McEtIsolVisitor.h.

50 :
52 m_msg ( &msg ),
55 {}

◆ ~McEtIsolVisitor()

template<class TruthParticleContainer_pX>
McEtIsolVisitor< TruthParticleContainer_pX >::~McEtIsolVisitor ( )
virtual

Destructor:

Definition at line 103 of file McEtIsolVisitor.h.

104{}

◆ McEtIsolVisitor() [3/3]

template<class TruthParticleContainer_pX>
McEtIsolVisitor< TruthParticleContainer_pX >::McEtIsolVisitor ( )
protected

Default constructor:

Member Function Documentation

◆ operator=()

template<class TruthParticleContainer_pX>
McEtIsolVisitor & McEtIsolVisitor< TruthParticleContainer_pX >::operator= ( const McEtIsolVisitor< TruthParticleContainer_pX > & rhs)
protected

Assignment operator:

◆ visit()

template<class TruthParticleContainer_pX>
void McEtIsolVisitor< TruthParticleContainer_pX >::visit ( TruthParticle * truthParticle) const
virtual

The method to visit a TruthParticle to apply further modifications to the instance at hand.

Implements ITruthParticleVisitor.

Definition at line 108 of file McEtIsolVisitor.h.

109{
110 if ( 0 == mc ) {
111 return;
112 }
113
114 const int barcode = mc->barcode();
115 try {
117 if ( etIsolations.empty() ) {
118 // do nothing: no particle will be registered in the TruthEtIsolations.
119 } else {
120 const HepMC::GenParticle* hepMcPart = mc->genParticle();
121 for ( std::size_t j = 0;
123 ++j ) {
124 m_etIsols->setEtIsol( hepMcPart,
126 etIsolations[j] );
127
128 }
129 }
130 } catch (std::out_of_range& e) {
132 << "Caught an out of range exception for this barcode: " << barcode
133 << endmsg
134 << e.what() << endmsg
135 << "This particle won't have any et isolation informations !!"
136 << endmsg;
137 // we don't want to have a buggy McTruth, do we ?
138 throw std::runtime_error("Reqested an UNKNOWN TruthParticle/barcode");
139 }
140
141 return;
142}

Member Data Documentation

◆ m_etIsols

template<class TruthParticleContainer_pX>
TruthEtIsolations* McEtIsolVisitor< TruthParticleContainer_pX >::m_etIsols
private

Definition at line 95 of file McEtIsolVisitor.h.

◆ m_msg

template<class TruthParticleContainer_pX>
MsgStream* McEtIsolVisitor< TruthParticleContainer_pX >::m_msg
private

Definition at line 92 of file McEtIsolVisitor.h.

◆ m_persObj

template<class TruthParticleContainer_pX>
const TruthParticleContainer_pX& McEtIsolVisitor< TruthParticleContainer_pX >::m_persObj
private

Definition at line 93 of file McEtIsolVisitor.h.


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