Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSL Integration implementation, TRestAxionMagneticField ReMap feature and HOT bug fix. #82

Merged
merged 32 commits into from
Feb 12, 2024

Conversation

jgalan
Copy link
Member

@jgalan jgalan commented Feb 10, 2024

jgalan Large: 711 Powered by Pull Request Badge

  • CRITICAL fix where the axion mass was given in keV inside the TRestAxionFieldPropagationProcess while it should have been expressed in eV. This was leading to wrong results.

  • TRestAxionMagneticField::ReMap method added. This method allows to remap the field to a new grid that it is necessarily coarser than the original.

  • TRestAxionField::GammaTransmissionFieldMapProbability method added. This method will integrate the axion-field using GSL library integration methods. The advantage is that we define the desired accuracy. This method will return a pair with the probability and the corresponding error.

  • TRestAxionField implements now a pointer to fMagneticField that needs to be initialized using TRestAxionField::AssignMagneticField so that the new method GammaTransmissionFieldMapProbability knows how to evaluate the magnetic field along x.

  • TRestAxionMagneticField::GetTransversalComponentInParametricTrack(Double_t x) new method implemented that allows to evaluate the field along a parametric track. The track is calculated using the field boundaries by providing the particle position and direction to the magnetic field, using the new method SetTrack( const TVector3 &position, const TVector3 &direction);.

  • TRestAxionFieldPropagationProcess now it integrates the probability using the new GSL integration method. The data members in this class have been updated to be able to set-up the integration method.

  • TRestAxionFieldPropagationProcess implements a fReMap data member that allows the process to re-map the magnetic field to a new grid size.

jgalan and others added 29 commits January 23, 2024 16:04
…Track(Double_t x) implemented to parameterize the field component along a track
@jgalan jgalan changed the title Hot updates GSL Integration implementation, TRestAxionMagneticField ReMap feature and HOT bug fix. Feb 12, 2024
@jgalan jgalan self-assigned this Feb 12, 2024
@jgalan jgalan marked this pull request as ready for review February 12, 2024 09:47
inc/TRestAxionField.h Outdated Show resolved Hide resolved
@@ -94,9 +88,10 @@ void TRestAxionField::Initialize() {
/// The result will be given for an axion-photon coupling of 10^{-10} GeV^{-1}
///
double TRestAxionField::BL(Double_t Bmag, Double_t Lcoh) {
Double_t lengthInMeters = Lcoh / 1000.;
Double_t lengthInMeters = Lcoh * units("m");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a conversion factor from the standard REST units (mm for length) to meters, that's what I understand

jgalan and others added 2 commits February 12, 2024 13:54
Co-authored-by: Francisco Rodríguez Candón <franrodricandon@gmail.com>
@jgalan jgalan merged commit 3800d90 into master Feb 12, 2024
63 checks passed
@jgalan jgalan deleted the jgalan_hotfix branch February 12, 2024 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants