SSLG4
Scintillator Simulation Library for Geant4
Install / Use
/learn @mkandemirr/SSLG4README
SSLG4: A Novel Scintillator Simulation Library for Geant4
With SSLG4, our goal is to enhance efficiency and accelerate progress in optical simulations within the Geant4 framework by simplifying scintillator handling and providing a rich repository of scintillators. SSLG4 enables users to quickly include predefined scintillator materials into their simulations without requiring manual definition. The library stores optical data of scintillators in ASCII files with .mac and .txt extensions, allowing users to add, remove, or modify properties of scintillators at runtime of their applications.
SSLG4 encompasses a diverse range of scintillators, including both organic and inorganic types, commonly utilized in high-energy and nuclear physics experiments. Currently, the library comprises 68 scintillators, including 58 organic and 10 inorganic types. The majority of these scintillators are sourced from the catalogs of prominent scintillator manufacturers such as Eljen and Luxium. Other scintillators are included based on their widespread usage across various physics domains.
The below table presents a complete list of the scintillators available in the library. Each scintillator in the library is assigned a unique code, as shown in the last column of the table. Users should utilize these codes to access their desired scintillators in their Geant4 applications.
| Type | Identification | Name | Simulation Code (SC) | |:----------------|:-----------------------------------|:----------------------------|:---------------------| | Organic Plastic | Eljen Technology /Luxium Solutions | EJ-200/Pilot F/BC-408 | OPSC-100 | | | | EJ-204/NE -104/BC-404 | OPSC-101 | | | | EJ-208/NE -110 /BC-412 | OPSC-102 | | | | EJ-212/NE-102A/BC-400 | OPSC-103 | | | | EJ-214 | OPSC-104 | | | | EJ-228/Pilot U/BC-418 | OPSC-105 | | | | EJ-230/Pilot U2/BC-420 | OPSC-106 | | | | EJ-232/NE-111A/BC-422 | OPSC-107 | | | | EJ-232Q-0.5 | OPSC-108 | | | | EJ-232Q-1.0 | OPSC-109 | | | | EJ-232Q-2.0 | OPSC-110 | | | | EJ-232Q-3.0 | OPSC-111 | | | | EJ-232Q-5.0 | OPSC-112 | | | | EJ-240/NE-115/BC-444 | OPSC-113 | | | | EJ-244/BC-440 | OPSC-114 | | | | EJ-244M/BC-440M | OPSC-115 | | | | EJ-248/BC-448 | OPSC-116 | | | | EJ-248M | OPSC-117 | | | | EJ-254-1pct | OPSC-118 | | | | EJ-254-2.5pct | OPSC-119 | | | | EJ-254-5pct | OPSC-120 | | | | EJ-256-1.5pct | OPSC-121 | | | | EJ-256-5pct | OPSC-122 | | | | EJ-260/NE-103/BC-428 | OPSC-123 | | | | EJ-262 | OPSC-124 | | | | EJ-276D | OPSC-125 | | | | EJ-276G | OPSC-126 | | | | EJ-280 | OPSC-127 | | | | EJ-282 | OPSC-128 | | | | EJ-284 | OPSC-129 | | | | EJ-286 | OPSC-130 | | | | EJ-290/BC-490/NE-120 | OPSC-131 | | | | EJ-296/BC-498 | OPSC-132 | | | | EJ-426 | OPSC-133 | | | Nuviatech Instruments | SP-32 | OPSC- 200 | | | | SP-33 | OPSC- 201 | | | Hangzhou Shalom EO | SP-102 | OPSC- 300 | | | Rexon Components | RP-408 | OPSC-400 | | Organic Liquid | Eljen Technology | EJ-301/NE-213/BC-501A | OLSC-100 | | | | EJ-309 | OLSC-101 | | | | EJ-309B-1pct | OLSC-102 | | | | EJ-309B-2.5pct | OLSC-103 | | | | EJ-309B-5pct | OLSC-104 | | | | EJ-313/NE-226/BC-509 | OLSC-105 | | | | EJ-315-H/BC-537/NE-230 | OLSC-106 | | | | EJ-321H | OLSC-107 | | | | EJ-321L | OLSC-108 | | | | EJ-321P | OLSC-109 | | | | EJ-321S | OLSC-110 | | | | EJ-325A | OLSC-111 | | | | EJ-331-0.5pct/NE-323/BC-521 | OLSC-112 | | | | EJ-335-0.25pct/BC-525 | OLSC-113 | | | | EJ-351/NE-220/BC-573 | OLSC-114 | | | HEP Materials (Neutrino Studies) | WbLS-1pct | OLSC- 200 | | | | WbLS-1pct-gd-0.1pct | OLSC- 201 | | | | WbLS- 3pct | OLSC- 202 | | | | WbLS- 3pct-gd-0.1pct | OLSC- 203 | | | | WbLS-5pct | OLSC- 204 | | Inorganic | Advatech | BaF2 | ISC-1000 | | | | CdWO4 | ISC-1001 | | | Luxium Solutions | BGO | ISC- 2000 | | | | CsINa | ISC- 2001 | | | | CsITI | ISC- 2002 | | | | LYSOCe | ISC- 2003 | | | | NaITI | ISC- 2004 | | | HEP Materials (Noble gases) | LAr | ISC- 3000 | | | | LXe | ISC- 3001 | | | | PbWO4 | ISC- 3002 |
The following code snippet demonstrates how to get a scintillator from SSLG4:
int main()
{
G4bool isMPTOn = true;//MPT = MaterialPropertiesTable
//Getting an organic scintillator object
G4String osCode = "OPSC-100";
G4Material* scntMat1 = OrganicScintillatorFactory::GetInstance()->Get(osCode, isMPTOn);
//Getting an inorganic scintillator object
G4String isCode = "ISC-1000";
G4Material* scntMat2 = InorganicScintillatorFactory::GetInstance()->Get(isCode, isMPTOn);
}
In addition, we made all the scintillator data available in the library on a dedicated page of our website to ensure convenient access for all users: https://neutrino.erciyes.edu.tr/SSLG4/
The package structure:
SSLG4: This is the root directory where all the files related to SSLG4 are located.
SSLG4/include: This directory includes C++ header files for SSLG4.
SSLG4/src: This director
