thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
Containers.h File Reference

This file defines a number of containers. More...

#include "ThePEG/Utilities/UnitIO.h"

Go to the source code of this file.

Namespaces

namespace  ThePEG
 This is the main namespace within which all identifiers in ThePEG are declared.
 

Typedefs

typedef vector< PDPtr > ThePEG::PDVector
 A vector of pointers to ParticleData objects.
 
typedef vector< cPDPtr > ThePEG::cPDVector
 A vector of pointers to const ParticleData objects.
 
typedef vector< tPDPtr > ThePEG::tPDVector
 A vector of transient pointers to ParticleData objects.
 
typedef vector< tcPDPtr > ThePEG::tcPDVector
 A vector of transient pointers to const ParticleData objects.
 
typedef vector< IBPtr > ThePEG::IVector
 A vector of pointers to InterfacedBase objects.
 
typedef vector< cIBPtr > ThePEG::CIVector
 A vector of pointers to const InterfacedBase objects.
 
typedef vector< PPtr > ThePEG::ParticleVector
 A vector of pointers to Particle objects.
 
typedef vector< PPtr > ThePEG::PVector
 A vector of pointers to Particle objects.
 
typedef vector< cPPtr > ThePEG::cPVector
 A vector of pointers to const Particle objects.
 
typedef vector< tPPtr > ThePEG::tPVector
 A vector of transient pointers to Particle objects.
 
typedef vector< tcPPtr > ThePEG::tcPVector
 A vector of transient pointers to const Particle objects.
 
typedef list< PPtr > ThePEG::ParticleList
 A list of pointers to Particle objects.
 
typedef list< PPtr > ThePEG::PList
 A list of pointers to Particle objects.
 
typedef list< cPPtr > ThePEG::cPList
 A list of pointers to const Particle objects.
 
typedef list< tPPtr > ThePEG::tPList
 A list of transient pointers to Particle objects.
 
typedef list< tcPPtr > ThePEG::tcPList
 A list of transient pointers to const Particle objects.
 
typedef Rebinder< InterfacedBase > ThePEG::TranslationMap
 A rebinder for InterfacedBase objects.
 
typedef vector< AnaPtr > ThePEG::AnalysisVector
 A vector of pointers to AnalysisHandler objects.
 
typedef pair< PDPtr, PDPtr > ThePEG::PDPair
 A pair of pointers to ParticleData objects.
 
typedef pair< cPDPtr, cPDPtr > ThePEG::cPDPair
 A pair of pointers to const ParticleData objects.
 
typedef pair< tPDPtr, tPDPtr > ThePEG::tPDPair
 A pair of transient pointers to ParticleData objects.
 
typedef pair< tcPDPtr, tcPDPtr > ThePEG::tcPDPair
 A pair of transient pointers to const ParticleData objects.
 
typedef pair< PPtr, PPtr > ThePEG::PPair
 A pair of pointers to Particle objects.
 
typedef pair< cPPtr, cPPtr > ThePEG::cPPair
 A pair of pointers to const Particle objects.
 
typedef pair< tPPtr, tPPtr > ThePEG::tPPair
 A pair of transient pointers to const Particle objects.
 
typedef pair< tcPPtr, tcPPtr > ThePEG::tcPPair
 A pair of transient pointers to const Particle objects.
 
typedef Interval< Energy2 > ThePEG::SInterval
 An Interval in scale.
 
typedef vector< SInterval > ThePEG::SIntervalVector
 A vector of intervals of scales.
 
typedef vector< tPDPair > ThePEG::tPartonPairVec
 A vector of pairs of transient pointers to PartonBins.
 
typedef pair< tColinePtr, tColinePtr > ThePEG::tColinePair
 A pair of transient pointers to ColourLine objects.
 
typedef vector< Energy > ThePEG::EnergyVector
 A vector of energies.
 
typedef vector< EIPtr > ThePEG::EIVector
 A vector of pointers to EventInfoBase objects.
 
typedef vector< double > ThePEG::DVector
 A vector of doubles.
 
typedef pair< double, double > ThePEG::DPair
 A pair of doubles.
 

Functions

 ThePEG::ThePEG_DECLARE_SET (PDPtr, ParticleDataSet)
 A set of pointers to ParticleData objects.
 
 ThePEG::ThePEG_DECLARE_SET (PMPtr, MatcherSet)
 A set of pointers to MatcherBase objects.
 
 ThePEG::ThePEG_DECLARE_SET (DMPtr, DecayModeSet)
 A set of pointers to DecayMode objects.
 
 ThePEG::ThePEG_DECLARE_SET (IBPtr, ObjectSet)
 A set of pointers to InterfacedBase objects.
 
 ThePEG::ThePEG_DECLARE_SET (IBPtr, DependencySet)
 A set of pointers to InterfacedBase objects.
 
 ThePEG::ThePEG_DECLARE_MAP (long, PDPtr, ParticleMap)
 A map relating integers to ParticleData objects.
 
 ThePEG::ThePEG_DECLARE_MAP (string, IBPtr, ObjectMap)
 A map relating character strings to InterfacedBase objects.
 
 ThePEG::ThePEG_DECLARE_MAP (IBPtr, DependencySet, DependencyMap)
 A map relating InterfacedBase objects to corresponding DependencySet containers.
 
 ThePEG::ThePEG_DECLARE_MAP (string, const InterfaceBase *, InterfaceMap)
 A map relating character strings to bare pointers to InterfaceBase objects.
 
 ThePEG::ThePEG_DECLARE_MAP (string, EGPtr, GeneratorMap)
 A map relating character strings to EventGenerator objects.
 
 ThePEG::ThePEG_DECLARE_SET (tDMPtr, DecaySet)
 A set of pointers to DecayMode objects.
 
 ThePEG::ThePEG_DECLARE_SET (string, StringSet)
 A set oc character strings.
 
Global shift operators to simplify adding and removing

objects to containers.

template<typename T , typename U >
vector< T > & ThePEG::operator<< (vector< T > &tv, const U &u)
 Overload the left shift operator for vector to push_back objects to a vector.
 
template<typename T , typename U >
vector< T > & ThePEG::operator>> (vector< T > &tv, U &u)
 Overload the right shift operator for vector to pop objects from a vector.
 
template<typename T , typename U >
stack< T > & ThePEG::operator<< (stack< T > &ts, const U &u)
 Overload the left shift operator for stack to push objects to a vector.
 
template<typename T , typename U >
stack< T > & ThePEG::operator>> (stack< T > &ts, U &u)
 Overload the right shift operator for stack to pop objects from a stack.
 
template<typename T , typename U >
deque< T > & ThePEG::operator<< (deque< T > &td, const U &u)
 Overload the left shift operator for deque to push_back objects to a deque.
 
template<typename T , typename U >
deque< T > & ThePEG::operator>> (deque< T > &td, U &u)
 Overload the right shift operator for vector to pop objects from a deque.
 
template<typename T , typename U >
set< T > & ThePEG::operator<< (set< T > &ts, const U &u)
 Overload the left shift operator for std::set to insert objects in a set.
 
Functions for I/O of containers of objects with unit.
template<typename OStream , typename T , typename Alloc , typename UT >
void ThePEG::ounitstream (OStream &os, const vector< T, Alloc > &v, UT &u)
 Ouput a vector of objects with the specified unit.
 
template<typename IStream , typename T , typename Alloc , typename UT >
void ThePEG::iunitstream (IStream &is, vector< T, Alloc > &v, UT &u)
 Input a vector of objects with the specified unit.
 
template<typename OStream , typename T , typename CMP , typename A , typename UT >
void ThePEG::ounitstream (OStream &os, const set< T, CMP, A > &s, UT &u)
 Ouput a set of objects with the specified unit.
 
template<typename IStream , typename T , typename CMP , typename A , typename UT >
void ThePEG::iunitstream (IStream &is, set< T, CMP, A > &s, UT &u)
 Input a set of objects with the specified unit.
 
template<typename OStream , typename K , typename T , typename CMP , typename A , typename UT >
void ThePEG::ounitstream (OStream &os, const map< K, T, CMP, A > &m, UT &u)
 Ouput a map of keys and objects where the objects are output with the specified unit.
 
template<typename IStream , typename K , typename T , typename CMP , typename A , typename UT >
void ThePEG::iunitstream (IStream &is, map< K, T, CMP, A > &m, UT &u)
 Input a map of keys and objects where the objects are input with the specified unit.
 

Detailed Description

This file defines a number of containers.

Some are just typedefs of std containers, while others are wrappers around std containers introduced in the hope of reducing the amount of debugging and code duplication.

Do not make changes in this file. If you need to modify any of the standard containers used in ThePEG, edit a copy of this file and include it in an alternative config file which can be included in the main ThePEG.h config file using the macro ThePEG_ALTERNATE_CONFIG.

Definition in file Containers.h.