|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #ifndef PARTICLEEVENT_PARTICLESHALLOWCLONE_H
11 #define PARTICLEEVENT_PARTICLESHALLOWCLONE_H 1
13 #include "AthLinks/ElementLink.h"
94 const ChargeType theCharge = std::numeric_limits<ChargeType>::quiet_NaN(),
104 if ( std::isnan(theCharge) )
107 m_charge = (*theMasterLink)->charge();
223 virtual int pdgId()
const;
260 friend class ::ParticleShallowCloneCnv_p1;
295 if ( m_masterLink.isValid() )
297 return *m_masterLink;
311 return (*m_masterLink)->getAthenaBarCode();
317 return (*m_masterLink)->hasSameAthenaBarCode(
obj);
323 return (*m_masterLink)->hasSameAthenaBarCodeExceptVersion(
obj);
329 return (*m_masterLink)->getVersion();
337 (*m_masterLink)->fillToken(theToken);
344 (*m_masterLink)->fillToken(theToken, theOther);
353 return (*m_masterLink)->dataType();
359 return (!m_originLink.isValid())
361 : &(**m_originLink).recVertex();
385 return (*m_masterLink)->hasPdgId();
391 return (*m_masterLink)->pdgId();
397 m_charge = theCharge;
440 #endif // PARTICLEEVENT_PARTICLESHALLOWCLONE_H
virtual AthenaBarCode_t getAthenaBarCode() const
Public getter.
ParticleShallowClone(const MasterLink_t &theMasterLink)
Standard constructor with an ElementLink to the original particle.
virtual const Trk::RecVertex * origin() const
Return a RecVertex corresponding to particle's Origin (used directly from this shallow clone particle...
const Master_t * getMasterPtr() const
Get a const pointer to the original "master" particle.
ParticleShallowClone(const MasterLink_t &theMasterLink, const I4Momentum *the4Mom, const ChargeType theCharge=std::numeric_limits< ChargeType >::quiet_NaN(), const ElementLink< VxContainer > *theOriginLink=0)
Standard constructor with an ElementLink to the original particle and all other parameters explicitly...
bool m_hasCharge
Switch to tell if this particle has a charge.
virtual bool hasPdgId() const
method to check if particle id information is available (forwareded to the orignal "master" particle)
ChargeType m_charge
Value of the charge of the particle (this has real meaning, only if hasCharge() returns true)
virtual bool hasSameAthenaBarCode(const IAthenaBarCode &) const
Comparing & Versioning Control.
ElementLink< VxContainer > m_originLink
Persistent pointer (ElementLink) to the origin of this particle.
Trk::RecVertex inherits from Trk::Vertex.
ElementLink< MasterContainer_t > MasterLink_t
uint64_t AthenaBarCode_t
barcode for all INav4Mom classes
virtual bool hasCharge() const
method to check if charge information is available (used directly from this shallow clone particle)
P4PxPyPzE momentum_type
publish the type of the base class (ie: 'traits-itize' it)
virtual void fillToken(INavigationToken &) const
Implement method from INavigable (forwareded to the orignal "master" particle)
const momentum_type & momentumBase() const
access to underlying base type (I4Momentum-like)
virtual void set_origin(const VxContainer *theContainer, int index)
Set method to set the charge of this shallow clone particle (the original "master" particle remains u...
virtual bool hasSameAthenaBarCodeExceptVersion(const IAthenaBarCode &) const
Comparing & Versioning Control.
virtual int pdgId() const
Return particle id (forwareded to the orignal "master" particle)
The namespace of all packages in PhysicsAnalysis/JetTagging.
virtual ChargeType charge() const
returns charge as a typedef ChargeType currently Charge Type is a double for jets this may be changed...
double ChargeType
typedef ChargeType used to anticipate changes here
ParticleShallowClone()
The default constructor.
IParticleContainer MasterContainer_t
virtual void set_charge(ChargeType theCharge)
Set method to set the charge of this shallow clone particle (the original "master" particle remains u...
virtual ParticleDataType::DataType dataType() const
Return enum indicating real data, fast, or full simulation Return Type has a DataType enum with the f...
AthenaBarCode_t AthenaBarCodeVersion_t
virtual AthenaBarCodeVersion_t getVersion() const
Comparing & Versioning Control.
virtual const ElementLink< VxContainer > & originLink() const
Return an ElementLink corresponding to particle's Origin (used directly from this shallow clone parti...
MasterLink_t m_masterLink
The persistent pointer (ElementLink) to the original "master" particle.
const MasterLink_t & getMasterLink() const
Copy constructor.