-
Notifications
You must be signed in to change notification settings - Fork 2
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
Implementation of full ray-tracing event processing #12
Conversation
…mented at TRestAxionEventProcess
…mented at TRestAxionEventProcess
Hi Javi, this looks real good!!
|
Hi Jaime, I have updated How do you get the relation between the Yaw angle and the expected offset? We need to discuss about it, but what I am doing is to get the spot at Z=7500mm, not sure what additional rotation would be required. So, what I call here focal is Z=7500mm (the distance to the center of the optics). This is defined at
As you see, this will generate two observables at the analysis tree, |
Ok, I just added a new parameter inside In other words, if If Here it is an image when |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect!
Maybe make the pitch angle |
The implementation baseline will be defined at
pipeline/axionGenerator.rml
. For the moment, theopticsBench.rml
ray tracer to test optics implementations have been implemented at the present PR.Simply, test the processing using
Some variables that can be modified are
REST_DEV
,REST_YAW
,REST_PITCH
,REST_NEVENTS
in order to produce different datasets systematically.One could then do:
in order to generate a file where the optics was deviated by 0.01 degrees in the yaw axis.
There is also an additional RML containing a
TRestAnalysisPlot
definition that can be used together with the previous generated ROOT file to produce few systematic plots.It will produce the following figure:
List of changes at this PR:
Added new
TRestAxionEventProcess::TRestEventProcess
encapsulation to add capability to processes to rotate or translate a ray-tracing component. Metadata members inside this class added to keep information of rotation/translation parameters.TRestAxionEventProcess::BeginOfEventProcess
andTRestAxionEventProcess::EndOfEventProcess
have been implemented to produce rotation and translation of the particular component. The relevant metadata members are:fYaw
andfPitch
angles measured in the default radians unit.fCenter
giving a physical position to the helioscope component defined by each process.TRestAxionGeneratorProcess
has been re-impemented to connect withTRestAxionSolarFlux
.solarFlux
, but if defined asflat
it will just launch particles parallel to the z-axis, and spread on the area defined byfTargetRadius
. The energy values in theflat
case are distributed in the range(fMinEnergy,fMaxEnergy)
.TRestAxionDeviationProcess
new process added to allow including an intermediate additional random deviation to the particle. It can be combined withflat
distribution to produce an artificial angular distribution.TRestAxionTransportProcess
new process added to move the particle to a given z-position following the direction of the particle at the present state.TRestAxionFieldPropagationProcess
has been implemented. It extracts the effective BSquared field and coherence length.TRestAxionMagneticField::GetTransversalFieldComponent
bug fixed and method added for validation atmagneticField.py
.TRestAxionEvent
added methodsRotateXZ
andRotateZX
to be used byTRestAxionEventProcess
to produce component rotation.TRestAxionEvent
data membersfBSquared
andfLCoherence
have been added, andfGammaProbability
has been removed (not yet clear which members will be finally kept).Fully impemented
opticsBench.rml
ray-tracer description to be operative.Implemented
opticsPlots.rml
to produce plots with the files produced usingopticsBench.rml
.