-
Notifications
You must be signed in to change notification settings - Fork 68
Integrate geant4star with mainline #311
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
Conversation
Point is well taken. Co-authored-by: Dmitri Smirnov <[email protected]>
Move struct TofRawHit into private to avoid problems with Cling
Change ClassDef(StTofHitMaker, 1) to ClassDef(StTofHitMaker, 0) again to avoid Cling problem.
In the next update I will replace all maker ClassDef to 0. ClassDef non 0 means
I/O for maker, which is senseless
Star6 StTofHitMaker
Move struct TofRawHit into private to avoid problems with Cling
Change ClassDef(StTofHitMaker, 1) to ClassDef(StTofHitMaker, 0) again to avoid Cling problem.
In the next update I will replace all maker ClassDef to 0. ClassDef non 0 means
I/O for maker, which is senseless
In ROOT6 kCanRebbib is obsolete.
Star6 StQAMakerBase.cxx In class StarRoot/TH1Helper::SetCanRebin(..) was developed intead and used
Look comments in St.h
St.h St.cxx St::call(...)
New class which support Cling macro call. In Root5 when Cint called macro from macro
these maccro are called independently. When submacro is defined but not called even if
such submacro does not exist or could not be called Cint is working smoothly.
In Cling, all the submacros are compiled even if this submacro is not really called.
In result your macro does not work if you have any problem in subbmacro, which is not even called.
To solve this preoblem using gROOT->ProcessLine(...) is proposed.
It is easy to do if there is no parameters. But parameters, especially with pointers is much
complicated. You must convert this pointers to the addresses.In result this process line
becames extremely long and unreadable. Example:
gROOT->ProcessLine("subMacro(char*)0x1234567,char*)0x1234567, ....")
Using method St::call it becames mor easy:
char *name-...; char *name2=..;
St::call("subMacro",name,name2)
Class name St was selrcted only to be maximally short and simple.
Arguments for St::call could are different and most popular. If it is needed to add
one, class Sr could be easy changed
Star6 Load.C
Macro load completely rewrittem. It loads mpstly used set of classes
UPD g2r
Directory pams/sim/g2r removed. It is not usd anymore.
It is assigned to Star6 branch because y sreange reason Cons failed there in Root6
Sure it is bug in my version of Cons. It is not fixed yet
Star6 [star-sw pull # 59]
framework information to be attached to TGeoVolumes. The VMC framework utlizes the "framework" extensions, so we will utilize the "user" extensions in AgML. - Attach user-defined hit scoring functions to sensitive volumes. When the MC application's hit scoring is invoked in a given volume, the general hit scoring function can invoke any user functions stored on the volume. - Store the number of volume branchings for each volume, allowing us to define a unique volume ID to each volume defined within an AgML module.
are functions defined in FORtran. A few defines have been made to prevent AgML variables from being mistaken for c-math routines. We introduce a namespace here, and uncomment a few trig functions.
which connect user codes and volume IDs from the AgML source code to the TGeo geometry model.
…tacker - Define tracking regions according to the specification of the 'simu' flag - Use the new AgMath namespace - Define a "whitelist" for constructing a pruned geometry tree
…/star-sw-1 into star-main-geant4star
MC manager's Apply method. This could result in multiple creation of sensitive detectors and hit collections, one for each MC engine. In order not to confuse which SD / collection record our hits, we need to ensure that SD's are created once, and mapped to both engines.
organized, StarPrimaryMaker (event generation) was added to the StBFChain directly. Thus, it initializes before StGeant4Maker. However, there are command line options that get parsed in StGeant4Maker, that are then applied to the event generator. When run under the StBFChain, StarPrimaryMaker will initialize before being configured... resulting in the first event recieving default parameters (e.g. vertex). StarPrimarymaker is moved under the StGeant4Maker, and is executed before trigger().
vertices, and persisting tracks. It is called at the end of the concrete Monte Carlo's stepping action. When we reach a condition where a track must be transferred to a different MC engine, we terminate the user stepping action. Otherwise the remainder of the user step is working with invalidated MC engine state.
perevbnlgov
left a comment
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.
My version of upstream:Star6 is not completely updated. So I approve your Star6 code.
If your and my codes will be very different, I will change it later. If not, then not.
Victor
|
To build To run tests: Some tests require loading of additional libraries (e.g. add --eemcutil for the eemcutil BFC chain option.) |
genevb
left a comment
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.
There are a lot of single-switch-per-library-loaded options added to BigFullChain.h. Are all of these individual switches necessary? I would recommend grouping together anything that would always be needed together.
The single chain to StBFChain.cxx looks OK.
|
This PR should be split. I suggest to start with StGeant4Maker library only first and see what external dependencies it needs to compile. |
|
Superseded by #617 |
No description provided.