G4FastVector< Type, N > Class Template Reference

#include <G4FastVector.hh>


Public Member Functions

 G4FastVector ()
 ~G4FastVector ()
Type * operator[] (G4int anIndex) const
void Initialize (G4int items)
void SetElement (G4int anIndex, Type *anElement)


Detailed Description

template<class Type, G4int N>
class G4FastVector< Type, N >

Definition at line 43 of file G4FastVector.hh.


Constructor & Destructor Documentation

template<class Type, G4int N>
G4FastVector< Type, N >::G4FastVector (  )  [inline]

Definition at line 50 of file G4FastVector.hh.

00050 { ptr = &theArray[0]; }

template<class Type, G4int N>
G4FastVector< Type, N >::~G4FastVector (  )  [inline]

Definition at line 52 of file G4FastVector.hh.

00053       {
00054         if (ptr != &theArray[0]) delete [] ptr;
00055       }


Member Function Documentation

template<class Type, G4int N>
void G4FastVector< Type, N >::Initialize ( G4int  items  )  [inline]

Definition at line 63 of file G4FastVector.hh.

Referenced by G4RPGXiZeroInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4LEXiZeroInelastic::ApplyYourself(), G4LEXiMinusInelastic::ApplyYourself(), G4LETritonInelastic::ApplyYourself(), G4LESigmaPlusInelastic::ApplyYourself(), G4LESigmaMinusInelastic::ApplyYourself(), G4LEProtonInelastic::ApplyYourself(), G4LEPionPlusInelastic::ApplyYourself(), G4LEPionMinusInelastic::ApplyYourself(), G4LEOmegaMinusInelastic::ApplyYourself(), G4LENeutronInelastic::ApplyYourself(), G4LELambdaInelastic::ApplyYourself(), G4LEKaonZeroInelastic::ApplyYourself(), G4LEKaonPlusInelastic::ApplyYourself(), G4LEKaonMinusInelastic::ApplyYourself(), G4LEDeuteronInelastic::ApplyYourself(), G4LEAntiXiZeroInelastic::ApplyYourself(), G4LEAntiXiMinusInelastic::ApplyYourself(), G4LEAntiSigmaPlusInelastic::ApplyYourself(), G4LEAntiSigmaMinusInelastic::ApplyYourself(), G4LEAntiProtonInelastic::ApplyYourself(), G4LEAntiOmegaMinusInelastic::ApplyYourself(), G4LEAntiNeutronInelastic::ApplyYourself(), G4LEAntiLambdaInelastic::ApplyYourself(), G4LEAntiKaonZeroInelastic::ApplyYourself(), G4LEAlphaInelastic::ApplyYourself(), G4RPGInelastic::CalculateMomenta(), G4InelasticInteraction::CalculateMomenta(), G4ReactionDynamics::GenerateXandPt(), G4RPGReaction::NuclearReaction(), G4ReactionDynamics::NuclearReaction(), G4RPGTwoCluster::ReactionStage(), G4VParticleChange::SetNumberOfSecondaries(), and G4ReactionDynamics::TwoCluster().

00067       {
00068         if (ptr != &theArray[0])
00069            delete [] ptr;
00070         if (items > N)
00071            ptr = new Type*[items];
00072         else
00073            ptr = &theArray[0];
00074       } 

template<class Type, G4int N>
Type* G4FastVector< Type, N >::operator[] ( G4int  anIndex  )  const [inline]

Definition at line 57 of file G4FastVector.hh.

00059       {
00060         return ptr[anIndex];
00061       }

template<class Type, G4int N>
void G4FastVector< Type, N >::SetElement ( G4int  anIndex,
Type *  anElement 
) [inline]

Definition at line 76 of file G4FastVector.hh.

Referenced by G4RPGReaction::AddBlackTrackParticles(), G4VParticleChange::AddSecondary(), G4ParticleChangeForRadDecay::AddSecondary(), G4ITReactionChange::AddSecondary(), G4RPGInelastic::CalculateMomenta(), G4InelasticInteraction::CalculateMomenta(), G4VParticleChange::G4VParticleChange(), G4ReactionDynamics::GenerateXandPt(), G4RPGReaction::NuclearReaction(), G4ReactionDynamics::NuclearReaction(), G4VParticleChange::operator=(), G4ParticleChangeForLoss::operator=(), G4ParticleChangeForGamma::operator=(), G4ParticleChangeForDecay::operator=(), G4ParticleChange::operator=(), G4ReactionDynamics::ProduceStrangeParticlePairs(), G4RPGTwoCluster::ReactionStage(), G4RPGStrangeProduction::ReactionStage(), G4RPGFragmentation::ReactionStage(), G4RPGInelastic::SetUpPions(), G4InelasticInteraction::SetUpPions(), and G4ReactionDynamics::TwoCluster().

00079       {
00080         ptr[anIndex] = anElement;
00081       }


The documentation for this class was generated from the following file:
Generated on Mon May 27 17:51:58 2013 for Geant4 by  doxygen 1.4.7