BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
BDSBeamlineIntegral Class Reference

A class that holds the current integrated quantities along a beam line. More...

#include <BDSBeamlineIntegral.hh>

Collaboration diagram for BDSBeamlineIntegral:
Collaboration graph

Public Member Functions

 BDSBeamlineIntegral (const BDSParticleDefinition &incomingParticle, G4double T0In=0, G4double integratedArcLength=0, G4bool integrateKineticEnergyIn=true)
 
void Integrate (const GMAD::Element &componentAsDefined)
 
G4double ProvideSynchronousTAtCentreOfNextElement (const GMAD::Element *el) const
 
G4double ProvideSynchronousTAtEndOfNextElement (const GMAD::Element *el) const
 
G4double MomentumAtStartOfLastElement () const
 
G4double KineticEnergyAtStartOfLastElement () const
 

Data Fields

G4bool integrateKineticEnergy
 On by default, but allow control to not integrate it for old behaviour.
 
G4double synchronousTAtEnd
 
G4double synchronousTAtMiddleOfLastElement
 
G4double arcLength
 
BDSParticleDefinition designParticle
 
G4bool changeOfEnergyEncountered
 
G4int rigidityCount
 Which change in rigidity we're at. Starts at 0, +1 after each change. Used for naming.
 

Detailed Description

A class that holds the current integrated quantities along a beam line.

Used to hold accumulated quantities like the current total arc length, synchronous global time and current particle rigidity / momentum along the beam line.

Author
Laurie Nevay

Definition at line 40 of file BDSBeamlineIntegral.hh.

Constructor & Destructor Documentation

◆ BDSBeamlineIntegral()

BDSBeamlineIntegral::BDSBeamlineIntegral ( const BDSParticleDefinition incomingParticle,
G4double  T0In = 0,
G4double  integratedArcLength = 0,
G4bool  integrateKineticEnergyIn = true 
)
explicit

Definition at line 39 of file BDSBeamlineIntegral.cc.

◆ ~BDSBeamlineIntegral()

BDSBeamlineIntegral::~BDSBeamlineIntegral ( )

Definition at line 52 of file BDSBeamlineIntegral.cc.

Member Function Documentation

◆ Integrate()

void BDSBeamlineIntegral::Integrate ( const GMAD::Element componentAsDefined)

◆ KineticEnergyAtStartOfLastElement()

G4double BDSBeamlineIntegral::KineticEnergyAtStartOfLastElement ( ) const
inline

Definition at line 65 of file BDSBeamlineIntegral.hh.

◆ MomentumAtStartOfLastElement()

G4double BDSBeamlineIntegral::MomentumAtStartOfLastElement ( ) const
inline

Definition at line 64 of file BDSBeamlineIntegral.hh.

◆ ProvideSynchronousTAtCentreOfNextElement()

G4double BDSBeamlineIntegral::ProvideSynchronousTAtCentreOfNextElement ( const GMAD::Element el) const

Provide the next synchronous T at the centre if we were to add on this new element to the beam line (i.e. integrate it). Doesn't change the current contents though. Constructs a copy of this instance, does the calculation, then does away with the copy.

Definition at line 136 of file BDSBeamlineIntegral.cc.

References Integrate().

Referenced by BDSComponentFactory::CreateComponent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ProvideSynchronousTAtEndOfNextElement()

G4double BDSBeamlineIntegral::ProvideSynchronousTAtEndOfNextElement ( const GMAD::Element el) const

Provide the next synchronous T at the middle if we were to add on this new element. Similar to above function.

Definition at line 144 of file BDSBeamlineIntegral.cc.

References Integrate().

Here is the call graph for this function:

Field Documentation

◆ arcLength

G4double BDSBeamlineIntegral::arcLength

Definition at line 70 of file BDSBeamlineIntegral.hh.

◆ changeOfEnergyEncountered

G4bool BDSBeamlineIntegral::changeOfEnergyEncountered

Definition at line 72 of file BDSBeamlineIntegral.hh.

◆ designParticle

BDSParticleDefinition BDSBeamlineIntegral::designParticle

Definition at line 71 of file BDSBeamlineIntegral.hh.

◆ integrateKineticEnergy

G4bool BDSBeamlineIntegral::integrateKineticEnergy

On by default, but allow control to not integrate it for old behaviour.

Definition at line 67 of file BDSBeamlineIntegral.hh.

Referenced by BDSDetectorConstruction::BuildBeamline(), and Integrate().

◆ rigidityCount

G4int BDSBeamlineIntegral::rigidityCount

Which change in rigidity we're at. Starts at 0, +1 after each change. Used for naming.

Definition at line 73 of file BDSBeamlineIntegral.hh.

Referenced by BDSComponentFactory::CreateComponent(), and Integrate().

◆ synchronousTAtEnd

G4double BDSBeamlineIntegral::synchronousTAtEnd

Definition at line 68 of file BDSBeamlineIntegral.hh.

◆ synchronousTAtMiddleOfLastElement

G4double BDSBeamlineIntegral::synchronousTAtMiddleOfLastElement

Definition at line 69 of file BDSBeamlineIntegral.hh.


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