Skip to content

Electron velocity distribution implementation#245

Closed
bear-is-asleep wants to merge 66 commits intoGENIE-MC:masterfrom
bear-is-asleep:brindenc
Closed

Electron velocity distribution implementation#245
bear-is-asleep wants to merge 66 commits intoGENIE-MC:masterfrom
bear-is-asleep:brindenc

Conversation

@bear-is-asleep
Copy link

@bear-is-asleep bear-is-asleep commented Jan 17, 2023

Genie currently implements a static velocity for electrons bound to the nucleus in all interactions involving bound electrons. These changes introduce a module to select an initial electron velocity from a distribution by loading a configuration submodule into the ElectronVelocity module in the nuclear state folder. Future velocity distributions can be implemented simply by creating a submodule that inherits from ElectronVelocity. This PR also introduces changes to the framework which allows for setting the initial state electron 4 momentum and boosting into its rest frame.

Copy link
Member

@mroda88 mroda88 left a comment

Choose a reason for hiding this comment

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

I haven't look at the whole thing yet, but there are a number of things you can start fixing already.


public :
virtual ~ElectronVelocity();
ElectronVelocity();
Copy link
Member

Choose a reason for hiding this comment

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

Remove completely the default constructor. You can flag it deleted

Copy link
Author

Choose a reason for hiding this comment

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

I get an error if i remove the default constructor: Generator/lib/libGPhNuclSt.so: undefined symbol: _ZN5genie16ElectronVelocityC2Ev

Copy link
Member

@mroda88 mroda88 left a comment

Choose a reason for hiding this comment

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

ok, I think we have a good starting point, we just need to fix a few minor code issues and have a bit of thoughts about what we need to change in the framework.

@mroda88 mroda88 added the modelling Issues with any aspect of physics modelling label Jan 26, 2023
Copy link
Member

@mroda88 mroda88 left a comment

Choose a reason for hiding this comment

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

You committed a root file! Remove it.

Other things needs to change too.

#pragma link C++ class genie::SecondNucleonEmissionI;
#pragma link C++ class genie::SpectralFunction2p2h;

//#pragma link C++ class genie::ElectronVelocity;
Copy link
Member

Choose a reason for hiding this comment

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

Remove instead of commenting out

Brinden Carlson and others added 28 commits March 22, 2023 09:42
…c parameters for the PXSec integrators in NuElectron.
@mroda88
Copy link
Member

mroda88 commented Sep 26, 2023

This is a proof of concept that used an undesirable new interface for Target. The new PR is #331

@mroda88 mroda88 closed this Sep 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modelling Issues with any aspect of physics modelling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants