Difference between revisions of "Solid geo"

From Hall A Wiki
Jump to: navigation, search
m
m
Line 21: Line 21:
  
 
# For any part of detector as a table, just write its perl script and run the same go_table script with it.
 
# For any part of detector as a table, just write its perl script and run the same go_table script with it.
# Each database table represent a detector component named as solid_xx_xx.  
+
# Each database table represents a detector component named as solid_xx_xx.  
:eg. solid_solenoid includes solenoid coils and yoke which are common for PVDIS and SIDIS.  
+
#: eg. solid_solenoid includes solenoid coils and yoke which are common for PVDIS and SIDIS.  
:eg. solid_target_PVDIS can include target for PVDIS.
+
#: eg. solid_target_PVDIS can include target for PVDIS.
 
# Each detector component should have a pl file and go_table file. The two files' content should be modified to with the component name to work.
 
# Each detector component should have a pl file and go_table file. The two files' content should be modified to with the component name to work.
 
# The mother volume of all is called "root" which is a big box built in GEMC code.
 
# The mother volume of all is called "root" which is a big box built in GEMC code.

Revision as of 11:35, 29 January 2011

GEMC read geometry/material/sensitivity in a mysql database

The database server currently used is clasdb.jlab.org. The user name is clasuser with no password which has read and write privilege.

On the server, there are many databases. for example, "clas12_geometry" is used for clas12 detector. We are use "user_geometry" for now.

A gui tool mysqlcc to view database content

All scripts are store in GEMC svn "database_io/halla12/solid/geometry"

One example of updating database

  1. The scripts are based on some database_io scripts currently only available through svn, not included with gemc rpm package. So download the whole directory svn /database_io/,
  2. Then setup "setenv $GEMC parent_directory_of_database_io"
  3. Then copy "go_table" and "solid_solenoid.pl" from "database_io/halla12/solid/geometry" to somewhere
  4. Run command "./go_table user_geometry solid_solenoid", this will update the table "solid_solenoid" in database "user_geometry".
  5. The script deletes the table first and create a new one with the content from "solid_solenoid.txt" which is created by "solid_solenoid.pl". The database command is recorded in "solid_solenoid.log"
  6. Read onscreen output to see if it's done without error.

Note

  1. For any part of detector as a table, just write its perl script and run the same go_table script with it.
  2. Each database table represents a detector component named as solid_xx_xx.
    eg. solid_solenoid includes solenoid coils and yoke which are common for PVDIS and SIDIS.
    eg. solid_target_PVDIS can include target for PVDIS.
  3. Each detector component should have a pl file and go_table file. The two files' content should be modified to with the component name to work.
  4. The mother volume of all is called "root" which is a big box built in GEMC code.
  5. The coordinate system used: center of solenoid coil is at origin. Beam along Z, Up is Y, X is horizon, XYZ right hand system.

References:

  1. Geant4 Detector Definition and Response
  2. GEMC source code with Doxygen doc, especially class detector.cc and Mmaterials.cc

gallery

solid_babar_PVDIS_rearview
solid_babar_PVDIS_rearview_beamOn
solid_babar_PVDIS_sideview
solid_babar_PVDIS_sideview_beamOn
solid_babar_baffle