GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » Fairroot » General Discussion » homogenous magnetic field defined by radial coordinates
homogenous magnetic field defined by radial coordinates Mon, 18 March 2013 17:35
 Raphael Cervantes Messages: 34Registered: September 2012 Location: Stony Brook University continuous participant From: *dyn.optonline.net
Hi guys,
I would like to create a magnetic field produced by a solenoid. Ive looked into cbmroot, and I the only thing I found was CbmFieldConst.cxx. However, that just creates a boxed magnetic field defined by a minimum x, minimum y, minimum z, maximum x, maximum y, maximum z. I would rather create a constant magnetic field defined by a minimum z, maximum z, minimum r, maximum r. Can anyone help me get started on this??

Thank you,
Raphael
Re: homogenous magnetic field defined by radial coordinates [message #14519 is a reply to message #14508] Tue, 19 March 2013 19:55
 Mohammad Al-Turany Messages: 518Registered: April 2004 Location: GSI, Germany first-grade participant From: *dip.t-dialin.net
Hi,

The only constrain we have is to implement the virtual methods of the FairField class. The simulation engines call the method:

`void GetFieldValue(const Double_t point[3], Double_t* bField);`

Which you have to implement in your subclass. Now how you calculate the field is up to you. if you look to PANDA there is different maps for the different regions (Solenoid, Dipole and the region between them).

`https://subversion.gsi.de/trac/fairroot/browser/pandaroot/trunk/field`

Another example is the Hades implementation:

`https://subversion.gsi.de/trac/fairroot/browser/hadesroot/hadsim/HadesField.cxx`

The class HadesField is forwarding the field value request to another class that make the calculation from the symmetry and the field map that is saved in cylindrical coordinates.

In other words Geant3/4 will call the method "GetFieldValue" above and you are free to calculate it as you like and fill the result in the bField[3].

cheers,