Project

General

Profile

Geant4 EM Physics Code Review Weekly Phone Meeting

Meeting

Date: May 23, 2014 at 9.15 AM US CST (Fermilab local time)
Place: 1-866-740-1260 (ReadyTalk line) (Host : Krzysztof)

Participants:

John Apostolakis
Andrea Dotti
Krzysztof Genser
Soon Yung Jun
Boyana Norris

Discussion

(Summary by Krzysztof)

Boyana will put more data into wiki esp. regarding the use of the
G4xyd helper class.

Andrea suggested removal of the sentence pertaining to the
G4UniversalFluctuation::SampleFluctuations in chapter 8 as most of our
work in that area did not pertain to the inlining. However, the almost
two fold increase of the CPU fraction between v9.6.r07 and v10.0.r02
seems puzzling.

Soon explained how G4PhysicsListOrderingParameter defaults to
G4PhysicsListHelper::ReadInDefaultOrderingParameter() in
G4PhysicsListHelper::ReadOrdingParameterTable():

Note that the name ReadInDefaultOrderingParameter may be misleading,
as nothing is being read in in that function; It is a series of
push_back's of predefined values into

    typedef std::vector<G4PhysicsListOrderingParameter> G4OrdParamTable;
    G4OrdParamTable* theTable;

(it may also seem that a map may be a better container if there are
many lookups via one of the fields?)

Soon specifically looked the way how to add physics process and found
that each physics process has the default parameter set for
(dis/en)abling GPIL/DoIt processes which are pre-defined at
G4PhysicsListHelper::ReadInDefaultOrderingParameter()

As an example, the default parameter set for G4eBremsstrahlung process is

  tmp.processTypeName = "Brems";
  tmp.processType     = 2;
  tmp.processSubType  =  3;
  tmp.ordering[0]     = -1;  
  tmp.ordering[1]     = -1;
  tmp.ordering[2]     =  3;
  tmp.isDuplicable =  false;
  theTable->push_back(tmp);
  sizeOfTable +=1;

in which the AlongStepDoIt/GPIL is set to "-1" (i.e., tmp.ordering1 = -1).

Hence, AlongStep of Brems is not added to theProcVector of
G4PhysicsManager and then the the process is not included in either
fAlongStepGetPhysIntVector or fAlongStepDoItVector of
G4SteppingManager.

We agreed to call the "free" functions "global".

John subsequently sent updates to the latex file and Krzysztof was
going to incorporate them later today.

We should try to get the report ready by mid June to make sure we
finish it before vacation season starts.