BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Information stored per model representing accelerator. More...
#include <BDSOutputROOTEventModel.hh>
Public Member Functions | |
BDSOutputROOTEventModel () | |
Default constructor. | |
virtual | ~BDSOutputROOTEventModel () |
Destructor. | |
void | Flush () |
Initialise all members. | |
int | findNearestElement (const TVector3 &point) const |
Find element index closest to point. | |
BDSOutputROOTEventModel (G4bool storeCollimatorInfoIn, G4bool storeCavityInfoIn) | |
Constructor for whether to store collimator and cavity information or not. | |
TRotation | ConvertToROOT (const G4RotationMatrix *rm) const |
Utility function. | |
TRotation | ConvertToROOT (const G4RotationMatrix &rm) const |
TVector3 | ConvertToROOT (const G4ThreeVector &v) const |
virtual void | Fill (const std::vector< G4int > &collimatorIndicesIn={}, const std::map< G4String, G4int > &collimatorIndicesByNameIn={}, const std::vector< BDSOutputROOTEventCollimatorInfo > &collimatorInfoIn={}, const std::vector< G4String > &collimatorBranchNamesIn={}, const std::vector< G4int > &cavityIndicesIn={}, const std::map< G4String, G4int > &cavityIndicesByNameIn={}, const std::vector< BDSOutputROOTEventCavityInfo > &cavityInfoIn={}, const std::vector< G4String > &cavityBranchNamesIn={}, const std::map< G4String, G4Transform3D > *scorerMeshPlacements=nullptr, const std::map< short int, G4String > *materialIDToNameUnique=nullptr, G4bool storeTrajectory=false) |
Fill root output. | |
ClassDef (BDSOutputROOTEventModel, 6) | |
Data Fields | |
int | n |
std::vector< std::string > | componentName |
std::vector< std::string > | placementName |
std::vector< std::string > | componentType |
std::vector< float > | length |
std::vector< float > | angle |
std::vector< TVector3 > | staPos |
std::vector< TVector3 > | midPos |
std::vector< TVector3 > | endPos |
std::vector< TRotation > | staRot |
std::vector< TRotation > | midRot |
std::vector< TRotation > | endRot |
std::vector< TVector3 > | staRefPos |
std::vector< TVector3 > | midRefPos |
std::vector< TVector3 > | endRefPos |
std::vector< TRotation > | staRefRot |
std::vector< TRotation > | midRefRot |
std::vector< TRotation > | endRefRot |
std::vector< float > | tilt |
std::vector< float > | offsetX |
std::vector< float > | offsetY |
std::vector< float > | staS |
std::vector< float > | midS |
std::vector< float > | endS |
std::vector< std::string > | beamPipeType |
std::vector< double > | beamPipeAper1 |
std::vector< double > | beamPipeAper2 |
std::vector< double > | beamPipeAper3 |
std::vector< double > | beamPipeAper4 |
std::vector< std::string > | material |
Material associated with element if any. | |
std::vector< float > | k1 |
std::vector< float > | k2 |
std::vector< float > | k3 |
std::vector< float > | k4 |
std::vector< float > | k5 |
std::vector< float > | k6 |
std::vector< float > | k7 |
std::vector< float > | k8 |
std::vector< float > | k9 |
std::vector< float > | k10 |
std::vector< float > | k11 |
std::vector< float > | k12 |
std::vector< float > | k1s |
std::vector< float > | k2s |
std::vector< float > | k3s |
std::vector< float > | k4s |
std::vector< float > | k5s |
std::vector< float > | k6s |
std::vector< float > | k7s |
std::vector< float > | k8s |
std::vector< float > | k9s |
std::vector< float > | k10s |
std::vector< float > | k11s |
std::vector< float > | k12s |
std::vector< float > | ks |
Solenoid strength. | |
std::vector< float > | hkick |
Horizontal fractional momentum kick. | |
std::vector< float > | vkick |
Vertical fractional momentum kick. | |
std::vector< float > | bField |
B field in T. | |
std::vector< float > | eField |
E field in V/m. | |
std::vector< float > | e1 |
std::vector< float > | e2 |
std::vector< float > | hgap |
std::vector< float > | fint |
std::vector< float > | fintx |
std::vector< float > | fintk2 |
std::vector< float > | fintxk2 |
std::vector< std::vector< std::string > > | pvName |
std::vector< std::vector< std::string > > | pvNameWPointer |
bool | storeCollimatorInfo |
Whether optional collimator information was stored. | |
bool | storeCavityInfo |
Whether optional cavity information was stored. | |
std::vector< int > | cavityIndices |
std::map< std::string, int > | cavityIndicesByName |
Similar cache but by name of cavity as built by BDSIM. | |
int | nCavities |
Number of cavities in beam line. | |
std::vector< BDSOutputROOTEventCavityInfo > | cavityInfo |
cavity information explicitly. | |
std::vector< std::string > | cavityBranchNamesUnique |
Vector of all cavity branch names in event tree used to load data. | |
std::vector< int > | collimatorIndices |
std::map< std::string, int > | collimatorIndicesByName |
Similar cache but by name of collimator as built by BDSIM. | |
int | nCollimators |
Number of collimators in beam line. | |
std::vector< BDSOutputROOTEventCollimatorInfo > | collimatorInfo |
Collimator information explicitly. | |
std::vector< std::string > | collimatorBranchNamesUnique |
Vector of all collimator branch names in event tree used to load data. | |
std::map< std::string, TVector3 > | scoringMeshTranslation |
std::map< std::string, TRotation > | scoringMeshRotation |
std::vector< std::string > | scoringMeshName |
std::map< short int, std::string > | materialIDToName |
std::map< std::string, short int > | materialNameToID |
std::vector< std::string > | samplerNamesUnique |
std::vector< double > | samplerSPosition |
std::vector< std::string > | samplerCNamesUnique |
std::vector< std::string > | samplerSNamesUnique |
std::map< std::string, double > | samplerCRadius |
std::map< std::string, double > | samplerSRadius |
Information stored per model representing accelerator.
Definition at line 47 of file BDSOutputROOTEventModel.hh.
|
virtual |
Destructor.
Definition at line 57 of file BDSOutputROOTEventModel.cc.
|
explicit |
Constructor for whether to store collimator and cavity information or not.
Definition at line 175 of file BDSOutputROOTEventModel.cc.
TRotation BDSOutputROOTEventModel::ConvertToROOT | ( | const G4RotationMatrix & | rm | ) | const |
Definition at line 199 of file BDSOutputROOTEventModel.cc.
TRotation BDSOutputROOTEventModel::ConvertToROOT | ( | const G4RotationMatrix * | rm | ) | const |
Utility function.
Definition at line 184 of file BDSOutputROOTEventModel.cc.
Referenced by Fill().
TVector3 BDSOutputROOTEventModel::ConvertToROOT | ( | const G4ThreeVector & | v | ) | const |
Definition at line 204 of file BDSOutputROOTEventModel.cc.
|
virtual |
Fill root output.
Definition at line 209 of file BDSOutputROOTEventModel.cc.
References BDSBeamPipeInfo::aper1, BDSBeamPipeInfo::aper2, BDSBeamPipeInfo::aper3, BDSBeamPipeInfo::aper4, BDSAcceleratorModel::BeamlineMain(), BDSBeamPipeInfo::beamPipeType, BDSBeamline::begin(), bField, cavityBranchNamesUnique, cavityIndices, cavityIndicesByName, cavityInfo, collimatorBranchNamesUnique, collimatorIndices, collimatorIndicesByName, collimatorInfo, ConvertToROOT(), eField, BDSBeamline::end(), BDSTiltOffset::GetTilt(), BDSTiltOffset::GetXOffset(), BDSTiltOffset::GetYOffset(), hkick, BDSPhysicalVolumeInfoRegistry::Instance(), BDSSamplerRegistry::Instance(), ks, material, nCavities, nCollimators, BDSMagnetStrength::NormalComponents(), BDSPhysicalVolumeInfoRegistry::PVsForBeamlineElement(), BDSBeamline::size(), BDSMagnetStrength::SkewComponents(), storeCavityInfo, storeCollimatorInfo, BDSMagnetStrength::Unit(), and vkick.
Referenced by BDSOutput::FillModel().
int BDSOutputROOTEventModel::findNearestElement | ( | const TVector3 & | point | ) | const |
Find element index closest to point.
Definition at line 60 of file BDSOutputROOTEventModel.cc.
void BDSOutputROOTEventModel::Flush | ( | ) |
Initialise all members.
Definition at line 77 of file BDSOutputROOTEventModel.cc.
References bField, cavityBranchNamesUnique, cavityIndices, cavityIndicesByName, cavityInfo, collimatorBranchNamesUnique, collimatorIndices, collimatorIndicesByName, collimatorInfo, eField, hkick, ks, material, nCavities, nCollimators, storeCavityInfo, storeCollimatorInfo, and vkick.
Referenced by BDSOutputStructures::ClearStructuresModel().
std::vector<float> BDSOutputROOTEventModel::angle |
Definition at line 90 of file BDSOutputROOTEventModel.hh.
std::vector<double> BDSOutputROOTEventModel::beamPipeAper1 |
Definition at line 110 of file BDSOutputROOTEventModel.hh.
std::vector<double> BDSOutputROOTEventModel::beamPipeAper2 |
Definition at line 111 of file BDSOutputROOTEventModel.hh.
std::vector<double> BDSOutputROOTEventModel::beamPipeAper3 |
Definition at line 112 of file BDSOutputROOTEventModel.hh.
std::vector<double> BDSOutputROOTEventModel::beamPipeAper4 |
Definition at line 113 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::beamPipeType |
Definition at line 109 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::bField |
B field in T.
Definition at line 142 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::cavityBranchNamesUnique |
Vector of all cavity branch names in event tree used to load data.
Definition at line 171 of file BDSOutputROOTEventModel.hh.
std::vector<int> BDSOutputROOTEventModel::cavityIndices |
Optional cache of indices in beam line of cavities used to extract cavity information.
Definition at line 162 of file BDSOutputROOTEventModel.hh.
std::map<std::string, int> BDSOutputROOTEventModel::cavityIndicesByName |
Similar cache but by name of cavity as built by BDSIM.
Definition at line 165 of file BDSOutputROOTEventModel.hh.
std::vector<BDSOutputROOTEventCavityInfo> BDSOutputROOTEventModel::cavityInfo |
cavity information explicitly.
Definition at line 168 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::collimatorBranchNamesUnique |
Vector of all collimator branch names in event tree used to load data.
Definition at line 184 of file BDSOutputROOTEventModel.hh.
Referenced by Model::CollimatorNames(), Fill(), and Flush().
std::vector<int> BDSOutputROOTEventModel::collimatorIndices |
Optional cache of indices in beam line of collimators used to extract collimator information.
Definition at line 175 of file BDSOutputROOTEventModel.hh.
std::map<std::string, int> BDSOutputROOTEventModel::collimatorIndicesByName |
Similar cache but by name of collimator as built by BDSIM.
Definition at line 178 of file BDSOutputROOTEventModel.hh.
std::vector<BDSOutputROOTEventCollimatorInfo> BDSOutputROOTEventModel::collimatorInfo |
Collimator information explicitly.
Definition at line 181 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::componentName |
Definition at line 86 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::componentType |
Definition at line 88 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::e1 |
Definition at line 144 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::e2 |
Definition at line 145 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::eField |
E field in V/m.
Definition at line 143 of file BDSOutputROOTEventModel.hh.
std::vector<TVector3> BDSOutputROOTEventModel::endPos |
Definition at line 93 of file BDSOutputROOTEventModel.hh.
std::vector<TVector3> BDSOutputROOTEventModel::endRefPos |
Definition at line 99 of file BDSOutputROOTEventModel.hh.
std::vector<TRotation> BDSOutputROOTEventModel::endRefRot |
Definition at line 102 of file BDSOutputROOTEventModel.hh.
std::vector<TRotation> BDSOutputROOTEventModel::endRot |
Definition at line 96 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::endS |
Definition at line 108 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::fint |
Definition at line 147 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::fintk2 |
Definition at line 149 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::fintx |
Definition at line 148 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::fintxk2 |
Definition at line 150 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::hgap |
Definition at line 146 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::hkick |
Horizontal fractional momentum kick.
Definition at line 140 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k1 |
Definition at line 115 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k10 |
Definition at line 124 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k10s |
Definition at line 136 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k11 |
Definition at line 125 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k11s |
Definition at line 137 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k12 |
Definition at line 126 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k12s |
Definition at line 138 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k1s |
Definition at line 127 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k2 |
Definition at line 116 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k2s |
Definition at line 128 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k3 |
Definition at line 117 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k3s |
Definition at line 129 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k4 |
Definition at line 118 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k4s |
Definition at line 130 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k5 |
Definition at line 119 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k5s |
Definition at line 131 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k6 |
Definition at line 120 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k6s |
Definition at line 132 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k7 |
Definition at line 121 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k7s |
Definition at line 133 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k8 |
Definition at line 122 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k8s |
Definition at line 134 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k9 |
Definition at line 123 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::k9s |
Definition at line 135 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::ks |
Solenoid strength.
Definition at line 139 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::length |
Definition at line 89 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::material |
Material associated with element if any.
Definition at line 114 of file BDSOutputROOTEventModel.hh.
std::map<short int, std::string> BDSOutputROOTEventModel::materialIDToName |
Definition at line 190 of file BDSOutputROOTEventModel.hh.
std::map<std::string, short int> BDSOutputROOTEventModel::materialNameToID |
Definition at line 191 of file BDSOutputROOTEventModel.hh.
std::vector<TVector3> BDSOutputROOTEventModel::midPos |
Definition at line 92 of file BDSOutputROOTEventModel.hh.
std::vector<TVector3> BDSOutputROOTEventModel::midRefPos |
Definition at line 98 of file BDSOutputROOTEventModel.hh.
std::vector<TRotation> BDSOutputROOTEventModel::midRefRot |
Definition at line 101 of file BDSOutputROOTEventModel.hh.
std::vector<TRotation> BDSOutputROOTEventModel::midRot |
Definition at line 95 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::midS |
Definition at line 107 of file BDSOutputROOTEventModel.hh.
int BDSOutputROOTEventModel::n |
Definition at line 85 of file BDSOutputROOTEventModel.hh.
int BDSOutputROOTEventModel::nCavities |
Number of cavities in beam line.
Definition at line 167 of file BDSOutputROOTEventModel.hh.
int BDSOutputROOTEventModel::nCollimators |
Number of collimators in beam line.
Definition at line 180 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::offsetX |
Definition at line 104 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::offsetY |
Definition at line 105 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::placementName |
Definition at line 87 of file BDSOutputROOTEventModel.hh.
std::vector<std::vector<std::string> > BDSOutputROOTEventModel::pvName |
Definition at line 151 of file BDSOutputROOTEventModel.hh.
std::vector<std::vector<std::string> > BDSOutputROOTEventModel::pvNameWPointer |
Definition at line 152 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::samplerCNamesUnique |
Definition at line 195 of file BDSOutputROOTEventModel.hh.
std::map<std::string, double> BDSOutputROOTEventModel::samplerCRadius |
Definition at line 197 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::samplerNamesUnique |
Definition at line 193 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::samplerSNamesUnique |
Definition at line 196 of file BDSOutputROOTEventModel.hh.
std::vector<double> BDSOutputROOTEventModel::samplerSPosition |
Definition at line 194 of file BDSOutputROOTEventModel.hh.
std::map<std::string, double> BDSOutputROOTEventModel::samplerSRadius |
Definition at line 198 of file BDSOutputROOTEventModel.hh.
std::vector<std::string> BDSOutputROOTEventModel::scoringMeshName |
Definition at line 188 of file BDSOutputROOTEventModel.hh.
std::map<std::string, TRotation> BDSOutputROOTEventModel::scoringMeshRotation |
Definition at line 187 of file BDSOutputROOTEventModel.hh.
std::map<std::string, TVector3> BDSOutputROOTEventModel::scoringMeshTranslation |
Definition at line 186 of file BDSOutputROOTEventModel.hh.
std::vector<TVector3> BDSOutputROOTEventModel::staPos |
Definition at line 91 of file BDSOutputROOTEventModel.hh.
std::vector<TVector3> BDSOutputROOTEventModel::staRefPos |
Definition at line 97 of file BDSOutputROOTEventModel.hh.
std::vector<TRotation> BDSOutputROOTEventModel::staRefRot |
Definition at line 100 of file BDSOutputROOTEventModel.hh.
std::vector<TRotation> BDSOutputROOTEventModel::staRot |
Definition at line 94 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::staS |
Definition at line 106 of file BDSOutputROOTEventModel.hh.
bool BDSOutputROOTEventModel::storeCavityInfo |
Whether optional cavity information was stored.
Definition at line 158 of file BDSOutputROOTEventModel.hh.
bool BDSOutputROOTEventModel::storeCollimatorInfo |
Whether optional collimator information was stored.
Definition at line 155 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::tilt |
Definition at line 103 of file BDSOutputROOTEventModel.hh.
std::vector<float> BDSOutputROOTEventModel::vkick |
Vertical fractional momentum kick.
Definition at line 141 of file BDSOutputROOTEventModel.hh.