Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
recob::TrajectoryPointFlags Class Reference

Set of flags pertaining a point of the track. More...

#include <TrajectoryPointFlags.h>

Public Types

using flag = TrajectoryPointFlagTraits
 Type of flag traits (indices and meaning of flags). More...
 
using Flags_t = flag::Flags_t
 Type holding the flags. More...
 
using Mask_t = Flags_t::Mask_t
 Type holding the flags. More...
 
using Flag_t = Flags_t::Flag_t
 Type of single flag. More...
 
using FlagIndex_t = Flags_t::FlagIndex_t
 Type of index of single flag. More...
 
using HitIndex_t = unsigned int
 Type for hit index. More...
 

Public Member Functions

constexpr TrajectoryPointFlags ()=default
 
constexpr TrajectoryPointFlags (HitIndex_t fromHit)
 Constructor: specified hit index, default flags. More...
 
constexpr TrajectoryPointFlags (HitIndex_t fromHit, Mask_t flags)
 Constructor: copies all the flags. More...
 
template<typename... Flags>
constexpr TrajectoryPointFlags (HitIndex_t fromHit, Flags...flags)
 Constructor: activates only the specified flags. More...
 
constexpr Mask_t const & mask () const
 Returns the entire set of bits as a bit mask. More...
 
constexpr Flags_t const & flags () const
 Returns the entire set of bits. More...
 
constexpr bool operator== (TrajectoryPointFlags const &other) const
 Returns whether other has the same content as this one. More...
 
constexpr bool operator!= (TrajectoryPointFlags const &other) const
 Returns whether other has content different than this one. More...
 
template<typename Stream >
void dump (Stream &&out, unsigned int verbosity, std::string indent, std::string indentFirst) const
 Prints the flags content into a stream. More...
 
template<typename Stream >
void dump (Stream &&out, unsigned int verbosity=1, std::string indent={}) const
 Prints flag content into a stream. More...
 
template<typename... Flags>
constexpr recob::TrajectoryPointFlags::Mask_t makeMask (Flags...flags)
 
Access to flags by index
constexpr bool isAllocated (FlagIndex_t flagIndex) const
 Returns whether there is room for a flag with the specified index. More...
 
constexpr FlagIndex_t nFlags () const
 Returns the number of defined flags. More...
 
constexpr bool isFlag (FlagIndex_t flagIndex) const
 
constexpr bool isFlag (Flag_t flag) const
 
bool test (FlagIndex_t index) const
 Returns whether the specified flag is set. More...
 
bool test (Flag_t flag) const
 Returns whether the specified flag is set. More...
 
bool get (Flag_t flag) const
 Returns whether the specified flag is set. More...
 
bool isDefined (Flag_t flag) const
 Returns true if the flag has been assigned a value. More...
 
bool isSet (Flag_t flag) const
 Returns true if the flag exists and is set. More...
 
bool isUnset (Flag_t flag) const
 Returns true if the flag exists and is not set. More...
 
bool match (Mask_t mask) const
 Returns true if the specified mask is matched. More...
 
Multiple flag access
Note
This implementation is partial. Please contact the author to discuss your need.
bool anySet (Mask_t mask) const
 Returns whether any of the bits set in the mask are set. More...
 
bool noneSet (Mask_t mask) const
 Returns whether none of the bits set in the mask is set. More...
 
Access to flags by meaning
bool isHitIgnored () const
 Returns whether the associated hit is considered ignored. More...
 
bool isPointValid () const
 Returns whether the associated point is valid. More...
 
bool isMerged () const
 Returns whether the point has the Merged flag set. More...
 
bool isShared () const
 Returns whether the point has the Shared flag set. More...
 
bool isDeltaRay () const
 Returns whether the point has the DeltaRay flag set. More...
 
bool hasDetectorIssues () const
 Returns whether the point has the DetectorIssue flag set. More...
 
bool isOtherwiseSuspicious () const
 Returns whether the point has the Suspicious flag set. More...
 
bool isExclusive () const
 
bool isExcludedFromFit () const
 Returns whether the point has the ExcludedFromFit flag set. More...
 
bool belongsToTrack () const
 Returns whether the point has the Rejected flag set. More...
 
bool isHitReinterpreted () const
 Returns whether the point has the Reinterpreted flag set. More...
 
bool isIncludedInFit () const
 
bool isPointFlawed () const
 Returns whether the trajectory point has any problem flagged. More...
 
bool isPointFlawless () const
 Returns whether the trajectory point has no flagged problem. More...
 
Access to hit index
constexpr bool hasOriginalHitIndex () const
 
constexpr HitIndex_t fromHit () const
 

Static Public Member Functions

template<typename... Flags>
static constexpr Mask_t makeMask (Flags...flags)
 Returns a bit mask with only the specified bit set. More...
 
static constexpr Mask_t DefaultFlagsMask ()
 Flags used in default construction. More...
 

Static Public Attributes

static constexpr HitIndex_t InvalidHitIndex = std::numeric_limits<HitIndex_t>::max()
 Value marking an invalid hit index. More...
 

Private Member Functions

constexpr bool sameAs (TrajectoryPointFlags const &other) const
 Implementation detail of operator==() More...
 

Static Private Member Functions

static constexpr Mask_t ImperfectPointMask ()
 Flags to define a non-perfect trajectory point. More...
 
static constexpr Mask_t SomehowSharedMask ()
 Flags to define a hit that is in some way shared. More...
 
static constexpr Mask_t ExcludedFromTrackFitMask ()
 Flags to define a hit that is not included in the track fit. More...
 

Private Attributes

HitIndex_t fFromHit = InvalidHitIndex
 Index of the original hit. More...
 
Flags_t fFlags { DefaultFlagsMask() }
 Set of flags. More...
 

Detailed Description

Set of flags pertaining a point of the track.

Template Parameters
FlagTraitstype with the definition of the flag values
See also
recob::TrackTrajectory

The "flags" contain metadata pertaining a single point in a trajectory or track.

The metadata includes:

The meaning of the flags is described in the FlagTraits type. This type needs to provide a maxFlags() static constexpr method to express how many flags should be stored, d

Definition at line 315 of file TrajectoryPointFlags.h.

Member Typedef Documentation

Type of flag traits (indices and meaning of flags).

Definition at line 320 of file TrajectoryPointFlags.h.

Type of single flag.

Definition at line 327 of file TrajectoryPointFlags.h.

Type of index of single flag.

Definition at line 329 of file TrajectoryPointFlags.h.

Type holding the flags.

Definition at line 323 of file TrajectoryPointFlags.h.

Type for hit index.

Definition at line 331 of file TrajectoryPointFlags.h.

Type holding the flags.

Definition at line 325 of file TrajectoryPointFlags.h.

Constructor & Destructor Documentation

constexpr recob::TrajectoryPointFlags::TrajectoryPointFlags ( )
default

Default constructor: invalid hit index, default flags (DefaultFlagsMask()).

constexpr recob::TrajectoryPointFlags::TrajectoryPointFlags ( HitIndex_t  fromHit)
inline

Constructor: specified hit index, default flags.

Parameters
fromHitthe original hit index

This constructor can be used in constexpr flag definitions:

Definition at line 353 of file TrajectoryPointFlags.h.

354  : fFromHit(fromHit)
355  {}
constexpr HitIndex_t fromHit() const
HitIndex_t fFromHit
Index of the original hit.
constexpr recob::TrajectoryPointFlags::TrajectoryPointFlags ( HitIndex_t  fromHit,
Mask_t  flags 
)
inline

Constructor: copies all the flags.

Parameters
fromHitthe original hit index
flagsall the flags to set, as a bit mask

This constructor can be used in constexpr flag definitions:

12,
trkflag::NoPoint,
trkflag::HitIgnored
)
);

Definition at line 375 of file TrajectoryPointFlags.h.

376  : fFromHit(fromHit)
377  , fFlags(flags)
378  {}
constexpr HitIndex_t fromHit() const
constexpr Flags_t const & flags() const
Returns the entire set of bits.
HitIndex_t fFromHit
Index of the original hit.
template<typename... Flags>
constexpr recob::TrajectoryPointFlags::TrajectoryPointFlags ( HitIndex_t  fromHit,
Flags...  flags 
)
inline

Constructor: activates only the specified flags.

Template Parameters
Flagsthe type of flags to be set
Parameters
fromHitthe original hit index
flagsall the flags to set

This constructor can be used in constexpr flag definitions:

Definition at line 397 of file TrajectoryPointFlags.h.

399  {}
static constexpr Mask_t makeMask(Flags...flags)
Returns a bit mask with only the specified bit set.
constexpr HitIndex_t fromHit() const
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr TrajectoryPointFlags()=default

Member Function Documentation

bool recob::TrajectoryPointFlags::anySet ( Mask_t  mask) const
inline

Returns whether any of the bits set in the mask are set.

Parameters
maskmask with the bits to be checked defined and set (isSet())
Returns
whether any of the bits set in the mask are set

The method returns true if of all the flags that are set (Mask_t::isSet()) in mask, at least one is set. Flags of mask that are unset or undefined are ignored.

Definition at line 540 of file TrajectoryPointFlags.h.

541  { return flags().anySet(mask); }
constexpr bool anySet(Mask_t const &mask) const
Returns whether any of the bits set in the mask are set.
constexpr Mask_t const & mask() const
Returns the entire set of bits as a bit mask.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
bool recob::TrajectoryPointFlags::belongsToTrack ( ) const
inline

Returns whether the point has the Rejected flag set.

Definition at line 599 of file TrajectoryPointFlags.h.

600  { return !isSet(flag::Rejected); }
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
static constexpr Flag_t Rejected
The hit is extraneous to this track.
constexpr recob::TrajectoryPointFlags::Mask_t recob::TrajectoryPointFlags::DefaultFlagsMask ( )
inlinestatic

Flags used in default construction.

Definition at line 789 of file TrajectoryPointFlags.h.

789  {
790  return makeMask( -flag::NoPoint );
791 } // recob::TrajectoryPointFlags::DefaultFlagsMask()
static constexpr Mask_t makeMask(Flags...flags)
Returns a bit mask with only the specified bit set.
static constexpr Flag_t NoPoint
The trajectory point is not defined.
template<typename Stream >
void recob::TrajectoryPointFlags::dump ( Stream &&  out,
unsigned int  verbosity,
std::string  indent,
std::string  indentFirst 
) const

Prints the flags content into a stream.

Template Parameters
Streamtype of the output stream
Parameters
outstream to output the information into
verbosityverbosity level (default: 1)
indentindentation string (default: none)
indentFirstindentation for first output line (default: as indent)

Prints on a single line all the flags that are set.

Currently indent is not used since the output is single line.

Information printed out (verbosity argument)

  • level 0: number of the flags set, and index
  • level 1: name of the flags set, and index
template<typename Stream >
void recob::TrajectoryPointFlags::dump ( Stream &&  out,
unsigned int  verbosity = 1,
std::string  indent = {} 
) const
inline

Prints flag content into a stream.

Template Parameters
Streamtype of the output stream
Parameters
outstream to output the information into
verbosityverbosity level (default: 1)
indentindentation string (default: none)
See also
Dump(Stream&&, unsigned int, std::string, std::string)

Implementation detail for Dump(Stream&&, unsigned int, std::string, std::string).

Definition at line 695 of file TrajectoryPointFlags.h.

695  {})
696  const
697  { dump(std::forward<Stream>(out), verbosity, indent, indent); }
void dump(Stream &&out, unsigned int verbosity, std::string indent, std::string indentFirst) const
Prints the flags content into a stream.
constexpr recob::TrajectoryPointFlags::Mask_t recob::TrajectoryPointFlags::ExcludedFromTrackFitMask ( )
inlinestaticprivate

Flags to define a hit that is not included in the track fit.

Definition at line 783 of file TrajectoryPointFlags.h.

static constexpr Flag_t Rejected
The hit is extraneous to this track.
static constexpr Flag_t ExcludedFromFit
constexpr Flags_t const& recob::TrajectoryPointFlags::flags ( ) const
inline

Returns the entire set of bits.

Definition at line 519 of file TrajectoryPointFlags.h.

520  { return fFlags; }
constexpr HitIndex_t recob::TrajectoryPointFlags::fromHit ( ) const
inline

Returns the original index of the hit.

Returns
the index of the original hit (InvalidHitIndex if not set)
See also
hasOriginalHitIndex()

Definition at line 643 of file TrajectoryPointFlags.h.

644  { return fFromHit; }
HitIndex_t fFromHit
Index of the original hit.
bool recob::TrajectoryPointFlags::get ( Flag_t  flag) const
inline

Returns whether the specified flag is set.

Parameters
flagindex of the flag to be tested
Returns
whether the specified flag is set

A single flag is tested. If the flag is not defined (invalid index), the result is undefined.

Definition at line 464 of file TrajectoryPointFlags.h.

465  { return flags().get(flag); }
TrajectoryPointFlagTraits flag
Type of flag traits (indices and meaning of flags).
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr bool get(Flag_t flag) const
Returns if the specified flag is on ("set").
bool recob::TrajectoryPointFlags::hasDetectorIssues ( ) const
inline

Returns whether the point has the DetectorIssue flag set.

Definition at line 582 of file TrajectoryPointFlags.h.

583  { return isSet(flag::DetectorIssue); }
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
static constexpr Flag_t DetectorIssue
The hit is associated to a problematic channel.
constexpr bool recob::TrajectoryPointFlags::hasOriginalHitIndex ( ) const
inline

Returns whether the original hit index is valid.

See also
fromHit()

Definition at line 636 of file TrajectoryPointFlags.h.

637  { return fromHit() != InvalidHitIndex; }
constexpr HitIndex_t fromHit() const
static constexpr HitIndex_t InvalidHitIndex
Value marking an invalid hit index.
constexpr recob::TrajectoryPointFlags::Mask_t recob::TrajectoryPointFlags::ImperfectPointMask ( )
inlinestaticprivate

Flags to define a non-perfect trajectory point.

Definition at line 771 of file TrajectoryPointFlags.h.

771  {
775  ;
776 } // recob::TrajectoryPointFlags::ImperfectPointMask()
static constexpr Flag_t Merged
The hit might have contribution from particles other than this.
static constexpr Flag_t Suspicious
The point reconstruction is somehow questionable.
static constexpr Flag_t NoPoint
The trajectory point is not defined.
static constexpr Flag_t HitIgnored
Hit was not included for the computation of the trajectory.
static constexpr Flag_t DetectorIssue
The hit is associated to a problematic channel.
static constexpr Flag_t DeltaRay
The hit might have contribution from a δ ray.
static constexpr Flag_t Shared
The hit is known to be associated also to another trajectory.
constexpr bool recob::TrajectoryPointFlags::isAllocated ( FlagIndex_t  flagIndex) const
inline

Returns whether there is room for a flag with the specified index.

Parameters
flagIndexindex of the flag
Returns
whether there is room for a flag with the specified index.
See also
isFlag()

The flag may still be not present, in the sense that the allocated bit has no meaning associated to it and that flag is "unknown".

Definition at line 414 of file TrajectoryPointFlags.h.

415  { return flagIndex < flags().capacity(); }
static constexpr size_t capacity()
Returns the number of flags the set has room for.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
bool recob::TrajectoryPointFlags::isDefined ( Flag_t  flag) const
inline

Returns true if the flag has been assigned a value.

Parameters
flagthe flag index
Returns
true if the flag has been assigned a value
See also
isSet(), isUnset(), test()

Definition at line 474 of file TrajectoryPointFlags.h.

475  { return flags().isDefined(flag); }
TrajectoryPointFlagTraits flag
Type of flag traits (indices and meaning of flags).
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr bool isDefined(Flag_t flag) const
Returns whether the flag is defined.
bool recob::TrajectoryPointFlags::isDeltaRay ( ) const
inline

Returns whether the point has the DeltaRay flag set.

Definition at line 578 of file TrajectoryPointFlags.h.

579  { return isSet(flag::DeltaRay); }
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
static constexpr Flag_t DeltaRay
The hit might have contribution from a δ ray.
bool recob::TrajectoryPointFlags::isExcludedFromFit ( ) const
inline

Returns whether the point has the ExcludedFromFit flag set.

Definition at line 595 of file TrajectoryPointFlags.h.

596  { return get(flag::ExcludedFromFit); }
static constexpr Flag_t ExcludedFromFit
bool recob::TrajectoryPointFlags::isExclusive ( ) const
inline

Returns whether the point has no flag set among Shared, DeltaRay and Merged.

Definition at line 591 of file TrajectoryPointFlags.h.

592  { return noneSet(SomehowSharedMask()); }
bool noneSet(Mask_t mask) const
Returns whether none of the bits set in the mask is set.
static constexpr Mask_t SomehowSharedMask()
Flags to define a hit that is in some way shared.
constexpr bool recob::TrajectoryPointFlags::isFlag ( FlagIndex_t  flagIndex) const
inline

Returns whether a flag with the specified index is known. (all allocated flags are)

Definition at line 423 of file TrajectoryPointFlags.h.

424  { return flags().isFlag(flagIndex); }
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr bool isFlag(FlagIndex_t flagIndex) const
Returns whether the flag index is valid.
constexpr bool recob::TrajectoryPointFlags::isFlag ( Flag_t  flag) const
inline

Returns whether a flag with the specified index is known. (all allocated flags are)

Definition at line 428 of file TrajectoryPointFlags.h.

429  { return flags().isFlag(flag); }
TrajectoryPointFlagTraits flag
Type of flag traits (indices and meaning of flags).
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr bool isFlag(FlagIndex_t flagIndex) const
Returns whether the flag index is valid.
bool recob::TrajectoryPointFlags::isHitIgnored ( ) const
inline

Returns whether the associated hit is considered ignored.

Definition at line 562 of file TrajectoryPointFlags.h.

563  { return isSet(flag::HitIgnored); }
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
static constexpr Flag_t HitIgnored
Hit was not included for the computation of the trajectory.
bool recob::TrajectoryPointFlags::isHitReinterpreted ( ) const
inline

Returns whether the point has the Reinterpreted flag set.

Definition at line 603 of file TrajectoryPointFlags.h.

604  { return isSet(flag::Reinterpreted); }
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
static constexpr Flag_t Reinterpreted
The hit content has been elaborated before being used in the fit.
bool recob::TrajectoryPointFlags::isIncludedInFit ( ) const
inline

Returns false if the point has the ExcludedFromFit or Rejected flag set.

Definition at line 608 of file TrajectoryPointFlags.h.

609  { return noneSet(ExcludedFromTrackFitMask()); }
static constexpr Mask_t ExcludedFromTrackFitMask()
Flags to define a hit that is not included in the track fit.
bool noneSet(Mask_t mask) const
Returns whether none of the bits set in the mask is set.
bool recob::TrajectoryPointFlags::isMerged ( ) const
inline

Returns whether the point has the Merged flag set.

Definition at line 570 of file TrajectoryPointFlags.h.

571  { return isSet(flag::Merged); }
static constexpr Flag_t Merged
The hit might have contribution from particles other than this.
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
bool recob::TrajectoryPointFlags::isOtherwiseSuspicious ( ) const
inline

Returns whether the point has the Suspicious flag set.

Definition at line 586 of file TrajectoryPointFlags.h.

587  { return isSet(flag::Suspicious); }
static constexpr Flag_t Suspicious
The point reconstruction is somehow questionable.
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
bool recob::TrajectoryPointFlags::isPointFlawed ( ) const
inline

Returns whether the trajectory point has any problem flagged.

A problematic point is basically one with any of the defined trajectory point flags set.

Definition at line 617 of file TrajectoryPointFlags.h.

618  { return anySet(ImperfectPointMask()); }
static constexpr Mask_t ImperfectPointMask()
Flags to define a non-perfect trajectory point.
bool anySet(Mask_t mask) const
Returns whether any of the bits set in the mask are set.
bool recob::TrajectoryPointFlags::isPointFlawless ( ) const
inline

Returns whether the trajectory point has no flagged problem.

A problematic point is basically one with any of the defined trajectory point flags set.

Definition at line 626 of file TrajectoryPointFlags.h.

627  { return noneSet(ImperfectPointMask()); }
bool noneSet(Mask_t mask) const
Returns whether none of the bits set in the mask is set.
static constexpr Mask_t ImperfectPointMask()
Flags to define a non-perfect trajectory point.
bool recob::TrajectoryPointFlags::isPointValid ( ) const
inline

Returns whether the associated point is valid.

Definition at line 566 of file TrajectoryPointFlags.h.

567  { return !isSet(flag::NoPoint); }
static constexpr Flag_t NoPoint
The trajectory point is not defined.
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
bool recob::TrajectoryPointFlags::isSet ( Flag_t  flag) const
inline

Returns true if the flag exists and is set.

Parameters
flagthe flag index
Returns
true if the flag exists and is set
See also
isUnset()

Definition at line 483 of file TrajectoryPointFlags.h.

484  { return flags().isSet(flag); }
constexpr bool isSet(Flag_t flag) const
Returns if the specified flag is set.
TrajectoryPointFlagTraits flag
Type of flag traits (indices and meaning of flags).
constexpr Flags_t const & flags() const
Returns the entire set of bits.
bool recob::TrajectoryPointFlags::isShared ( ) const
inline

Returns whether the point has the Shared flag set.

Definition at line 574 of file TrajectoryPointFlags.h.

575  { return isSet(flag::Shared); }
bool isSet(Flag_t flag) const
Returns true if the flag exists and is set.
static constexpr Flag_t Shared
The hit is known to be associated also to another trajectory.
bool recob::TrajectoryPointFlags::isUnset ( Flag_t  flag) const
inline

Returns true if the flag exists and is not set.

Parameters
flagthe flag index
Returns
true if the flag exists and is not set
See also
isSet()

Definition at line 492 of file TrajectoryPointFlags.h.

493  { return flags().isUnset(flag); }
TrajectoryPointFlagTraits flag
Type of flag traits (indices and meaning of flags).
constexpr bool isUnset(Flag_t flag) const
Returns if the specified flag is unset.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
template<typename... Flags>
static constexpr Mask_t recob::TrajectoryPointFlags::makeMask ( Flags...  flags)
static

Returns a bit mask with only the specified bit set.

Template Parameters
Flagsthe type of flags to be set
Parameters
flagsall the flags to set

This method can be used in constexpr flag definitions:

(trkflag::NoPoint, trkflag::Merged);
template<typename... Flags>
constexpr recob::TrajectoryPointFlags::Mask_t recob::TrajectoryPointFlags::makeMask ( Flags...  flags)
inline

Definition at line 751 of file TrajectoryPointFlags.h.

752  { return Mask_t(flags...); }
Flags_t::Mask_t Mask_t
Type holding the flags.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr Mask_t const& recob::TrajectoryPointFlags::mask ( ) const
inline

Returns the entire set of bits as a bit mask.

Definition at line 515 of file TrajectoryPointFlags.h.

516  { return flags().mask(); }
constexpr Mask_t const & mask() const
Returns all the flags in the form of a mask.
Definition: FlagSet.h:97
constexpr Flags_t const & flags() const
Returns the entire set of bits.
bool recob::TrajectoryPointFlags::match ( Mask_t  mask) const
inline

Returns true if the specified mask is matched.

Parameters
maskthe mask of flags to be tested
Returns
true if the specified mask is matched
See also
util::flags::BitMask::match()

The current flags are tested against the specified mask. The flags that in mask are undefined are not tested at all. For this method to return true, all the remaining flags (that is, all the flags defined in mask) must be defined, and their value must match the one in mask.

Definition at line 507 of file TrajectoryPointFlags.h.

508  { return flags().match(mask); }
constexpr bool match(Mask_t const &mask) const
Returns whether all bits defined in the mask are equal to ours.
constexpr Mask_t const & mask() const
Returns the entire set of bits as a bit mask.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr FlagIndex_t recob::TrajectoryPointFlags::nFlags ( ) const
inline

Returns the number of defined flags.

Definition at line 418 of file TrajectoryPointFlags.h.

419  { return flag::maxFlags(); }
static constexpr FlagIndex_t maxFlags()
Number of flags allocated (may be unused and unassigned).
bool recob::TrajectoryPointFlags::noneSet ( Mask_t  mask) const
inline

Returns whether none of the bits set in the mask is set.

Parameters
maskmask with the bits to be checked defined and set (isSet())
Returns
whether none of the bits set in the mask is set
See also
anySet()

This is the logical negation of anySet().

Definition at line 551 of file TrajectoryPointFlags.h.

552  { return flags().noneSet(mask); }
constexpr Mask_t const & mask() const
Returns the entire set of bits as a bit mask.
constexpr bool noneSet(Mask_t const &mask) const
Returns whether none of the bits set in the mask is set.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr bool recob::TrajectoryPointFlags::operator!= ( TrajectoryPointFlags const &  other) const
inline

Returns whether other has content different than this one.

Definition at line 765 of file TrajectoryPointFlags.h.

766  { return !sameAs(other); }
constexpr bool sameAs(TrajectoryPointFlags const &other) const
Implementation detail of operator==()
constexpr bool recob::TrajectoryPointFlags::operator== ( TrajectoryPointFlags const &  other) const
inline

Returns whether other has the same content as this one.

Definition at line 761 of file TrajectoryPointFlags.h.

762  { return sameAs(other); }
constexpr bool sameAs(TrajectoryPointFlags const &other) const
Implementation detail of operator==()
constexpr bool recob::TrajectoryPointFlags::sameAs ( TrajectoryPointFlags const &  other) const
inlineprivate

Implementation detail of operator==()

Definition at line 757 of file TrajectoryPointFlags.h.

758  { return (flags() == other.flags()) && (fromHit() == other.fromHit()); }
constexpr HitIndex_t fromHit() const
constexpr Flags_t const & flags() const
Returns the entire set of bits.
constexpr recob::TrajectoryPointFlags::Mask_t recob::TrajectoryPointFlags::SomehowSharedMask ( )
inlinestaticprivate

Flags to define a hit that is in some way shared.

Definition at line 779 of file TrajectoryPointFlags.h.

static constexpr Flag_t Merged
The hit might have contribution from particles other than this.
static constexpr Flag_t DeltaRay
The hit might have contribution from a δ ray.
static constexpr Flag_t Shared
The hit is known to be associated also to another trajectory.
bool recob::TrajectoryPointFlags::test ( FlagIndex_t  index) const
inline

Returns whether the specified flag is set.

Parameters
indexindex of the flag to be tested
Returns
whether the specified flag is set
Exceptions
Flags_t::OutOfRangeErrorif the flag is not known (invalid index)
Flags_t::FlagNotDefinedErrorif the flag is not defined

A single flag is tested.

Definition at line 440 of file TrajectoryPointFlags.h.

441  { return flags().test(index); }
bool test(Flag_t flag) const
Returns if the specified flag is set.
constexpr Flags_t const & flags() const
Returns the entire set of bits.
bool recob::TrajectoryPointFlags::test ( Flag_t  flag) const
inline

Returns whether the specified flag is set.

Parameters
flagflag to be tested
Returns
whether the specified flag is set
Exceptions
Flags_t::OutOfRangeErrorif the flag is not known (invalid index)
Flags_t::FlagNotDefinedErrorif the flag is not defined

A single flag is tested.

Definition at line 452 of file TrajectoryPointFlags.h.

453  { return flags().test(flag); }
TrajectoryPointFlagTraits flag
Type of flag traits (indices and meaning of flags).
bool test(Flag_t flag) const
Returns if the specified flag is set.
constexpr Flags_t const & flags() const
Returns the entire set of bits.

Member Data Documentation

Flags_t recob::TrajectoryPointFlags::fFlags { DefaultFlagsMask() }
private

Set of flags.

Definition at line 733 of file TrajectoryPointFlags.h.

HitIndex_t recob::TrajectoryPointFlags::fFromHit = InvalidHitIndex
private

Index of the original hit.

Definition at line 719 of file TrajectoryPointFlags.h.

constexpr HitIndex_t recob::TrajectoryPointFlags::InvalidHitIndex = std::numeric_limits<HitIndex_t>::max()
static

Value marking an invalid hit index.

Definition at line 336 of file TrajectoryPointFlags.h.


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