ATLAS Offline Software
Public Member Functions | Protected Attributes | Friends | List of all members
AthExElephantino Class Reference

#include <AthExElephantino.h>

Collaboration diagram for AthExElephantino:

Public Member Functions

 AthExElephantino ()
 Default constructor: More...
 
 AthExElephantino (const AthExElephantino &rhs)
 Copy constructor: More...
 
AthExElephantinooperator= (const AthExElephantino &rhs)
 Assignment operator: More...
 
virtual ~AthExElephantino ()
 Constructor with parameters: More...
 
const AthExIParticleleg1 () const
 
const AthExIParticleleg2 () const
 
const AthExIParticleleg3 () const
 
const AthExIParticleleg4 () const
 
const AthExIParticleear1 () const
 
const AthExIParticleear2 () const
 
void setLegs (const ElementLink< AthExIParticles > &p1, const ElementLink< AthExIParticles > &p2, const ElementLink< AthExIParticles > &p3, const ElementLink< AthExIParticles > &p4)
 
void setEars (const ElementLink< AthExIParticles > &e1, const ElementLink< AthExIParticles > &e4)
 

Protected Attributes

ElementLinkVector< AthExIParticlesm_legs
 
ElementLinkVector< AthExIParticlesm_ears
 

Friends

class AthExElephantinoCnv_p1
 

Detailed Description

object with 4 legs, so it is best modeled with a vector of ElementLink.

Definition at line 32 of file AthExElephantino.h.

Constructor & Destructor Documentation

◆ AthExElephantino() [1/2]

AthExElephantino::AthExElephantino ( )

Default constructor:

Definition at line 25 of file AthExElephantino.cxx.

25  :
26  m_legs(),
27  m_ears()
28 {}

◆ AthExElephantino() [2/2]

AthExElephantino::AthExElephantino ( const AthExElephantino rhs)

Copy constructor:

Definition at line 30 of file AthExElephantino.cxx.

30  :
31  m_legs( rhs.m_legs ),
32  m_ears( rhs.m_ears )
33 {}

◆ ~AthExElephantino()

AthExElephantino::~AthExElephantino ( )
virtual

Constructor with parameters:

Destructor:

Definition at line 46 of file AthExElephantino.cxx.

47 {}

Member Function Documentation

◆ ear1()

const AthExIParticle * AthExElephantino::ear1 ( ) const

Definition at line 85 of file AthExElephantino.cxx.

86 {
87  assert (m_ears.size() == 2);
88  if (m_ears[0].isValid()) { return *m_ears[0];
89  } else { return 0;
90  }
91 }

◆ ear2()

const AthExIParticle * AthExElephantino::ear2 ( ) const

Definition at line 93 of file AthExElephantino.cxx.

94 {
95  assert (m_ears.size() == 2);
96  if (m_ears[1].isValid()) { return *m_ears[1];
97  } else { return 0;
98  }
99 }

◆ leg1()

const AthExIParticle * AthExElephantino::leg1 ( ) const

Definition at line 53 of file AthExElephantino.cxx.

54 {
55  assert( m_legs.size() == 4 );
56  if ( m_legs[0].isValid() ) { return *m_legs[0];
57  } else { return 0;
58  }
59 }

◆ leg2()

const AthExIParticle * AthExElephantino::leg2 ( ) const

Definition at line 61 of file AthExElephantino.cxx.

62 {
63  assert( m_legs.size() == 4 );
64  if ( m_legs[1].isValid() ) { return *m_legs[1];
65  } else { return 0;
66  }
67 }

◆ leg3()

const AthExIParticle * AthExElephantino::leg3 ( ) const

Definition at line 69 of file AthExElephantino.cxx.

70 {
71  assert( m_legs.size() == 4 );
72  if ( m_legs[2].isValid() ) { return *m_legs[2];
73  } else { return 0;
74  }
75 }

◆ leg4()

const AthExIParticle * AthExElephantino::leg4 ( ) const

Definition at line 77 of file AthExElephantino.cxx.

78 {
79  assert( m_legs.size() == 4 );
80  if ( m_legs[3].isValid() ) { return *m_legs[3];
81  } else { return 0;
82  }
83 }

◆ operator=()

AthExElephantino & AthExElephantino::operator= ( const AthExElephantino rhs)

Assignment operator:

Definition at line 35 of file AthExElephantino.cxx.

36 {
37  if ( this != &rhs ) {
38  m_legs = rhs.m_legs;
39  m_ears = rhs.m_ears;
40  }
41  return *this;
42 }

◆ setEars()

void AthExElephantino::setEars ( const ElementLink< AthExIParticles > &  e1,
const ElementLink< AthExIParticles > &  e4 
)

Definition at line 118 of file AthExElephantino.cxx.

120 {
121  m_ears.clear();
122  m_ears.reserve( 2 );
123  m_ears.push_back( ear1 );
124  m_ears.push_back( ear2 );
125 }

◆ setLegs()

void AthExElephantino::setLegs ( const ElementLink< AthExIParticles > &  p1,
const ElementLink< AthExIParticles > &  p2,
const ElementLink< AthExIParticles > &  p3,
const ElementLink< AthExIParticles > &  p4 
)

Definition at line 105 of file AthExElephantino.cxx.

109 {
110  m_legs.clear();
111  m_legs.reserve( 4 );
112  m_legs.push_back( leg1 );
113  m_legs.push_back( leg2 );
114  m_legs.push_back( leg3 );
115  m_legs.push_back( leg4 );
116 }

Friends And Related Function Documentation

◆ AthExElephantinoCnv_p1

friend class AthExElephantinoCnv_p1
friend

Definition at line 36 of file AthExElephantino.h.

Member Data Documentation

◆ m_ears

ElementLinkVector<AthExIParticles> AthExElephantino::m_ears
protected

Definition at line 92 of file AthExElephantino.h.

◆ m_legs

ElementLinkVector<AthExIParticles> AthExElephantino::m_legs
protected

Definition at line 91 of file AthExElephantino.h.


The documentation for this class was generated from the following files:
AthExElephantino::leg4
const AthExIParticle * leg4() const
Definition: AthExElephantino.cxx:77
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
ElementLinkVector::push_back
void push_back(const ElemLink &link)
Definition: AthLinks/ElementLinkVector.h:316
AthExElephantino::ear2
const AthExIParticle * ear2() const
Definition: AthExElephantino.cxx:93
AthExElephantino::ear1
const AthExIParticle * ear1() const
Definition: AthExElephantino.cxx:85
ElementLinkVector::clear
void clear()
Definition: AthLinks/ElementLinkVector.h:341
AthExElephantino::leg2
const AthExIParticle * leg2() const
Definition: AthExElephantino.cxx:61
AthExElephantino::m_ears
ElementLinkVector< AthExIParticles > m_ears
Definition: AthExElephantino.h:92
ElementLinkVector::size
size_type size() const
Definition: AthLinks/ElementLinkVector.h:292
AthExElephantino::leg1
const AthExIParticle * leg1() const
Definition: AthExElephantino.cxx:53
ElementLinkVector::reserve
void reserve(size_type n)
Definition: AthLinks/ElementLinkVector.h:297
AthExElephantino::leg3
const AthExIParticle * leg3() const
Definition: AthExElephantino.cxx:69
AthExElephantino::m_legs
ElementLinkVector< AthExIParticles > m_legs
Definition: AthExElephantino.h:91