Berkeley Nuclear Data Software
Static Public Member Functions | List of all members
NSDGeantHelper Class Reference

#include <NSDGeantHelper.h>

Static Public Member Functions

static G4RotationMatrix getRotationMatrix (std::vector< double > a_v1, std::vector< double > a_v2={0, 0, 1})
 
static void placeGeoObject (NSDG4::GeometryObject *a_geoObject, G4LogicalVolume *a_mother, int a_ID=0)
 
static void placeOrgScintillators (NSDG4::GeometryObject *a_geoObject, G4LogicalVolume *a_mother, ExperimentConfig &a_config)
 
static void placeClovers (NSDG4::GeometryObject *a_geoObject, G4LogicalVolume *a_mother, ExperimentConfig &a_config)
 same as above but for clovers More...
 
static G4RotationMatrix getCloverRotationMatrix (CloverInfo &a_cloverInfo)
 
static void placeInorgScintillators (NSDG4::GeometryObject *a_geoObject, G4LogicalVolume *a_mother, ExperimentConfig &a_config)
 
static void placeHPGes (NSDG4::GeometryObject *a_geoObject, G4LogicalVolume *a_mother, ExperimentConfig &a_config)
 

Detailed Description

this class is intended to hold helper functions for doing things nonspecific in the geant repo methods will likely be static making it more akin to a namespace

Member Function Documentation

◆ getCloverRotationMatrix()

G4RotationMatrix NSDGeantHelper::getCloverRotationMatrix ( CloverInfo a_cloverInfo)
static

computes the rotation matrix for the clover a_inverseRot = true will return a rotation matrix to unrotate the clover

get position of 2 leafs on top of each other to adjust rotation angle

first rotation matrix to align clover with the rotation vector

the clover is free to rotate on its axis need to re-align the rotated vector from leaf3-leaf0 with the

vector from leaf3-leaf0 in unrotated geometry

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getRotationMatrix()

G4RotationMatrix NSDGeantHelper::getRotationMatrix ( std::vector< double >  a_v1,
std::vector< double >  a_v2 = {0,0,1} 
)
static

this function returns the rotation matrix for rotation from the v2 to v1 the default argument is included to allow it to calculate the rotation from a default constructed object in the positive z dimension into a new arbitrary pointing vector. the vectors don't need to be normalized

◆ placeClovers()

void NSDGeantHelper::placeClovers ( NSDG4::GeometryObject a_geoObject,
G4LogicalVolume *  a_mother,
ExperimentConfig a_config 
)
static

same as above but for clovers

Here is the call graph for this function:
Here is the caller graph for this function:

◆ placeGeoObject()

void NSDGeantHelper::placeGeoObject ( NSDG4::GeometryObject a_geoObject,
G4LogicalVolume *  a_mother,
int  a_ID = 0 
)
static

this function places a GeometryObject. It needs to have already been constructed, have a logical volume in it's store labled mother, and have it's approprite rotation matrix and location within the mother set in the base class

Parameters
a_geoObjectthe object you would like to place
a_motherthe logical volume to place it in
Here is the call graph for this function:

◆ placeHPGes()

void NSDGeantHelper::placeHPGes ( NSDG4::GeometryObject a_geoObject,
G4LogicalVolume *  a_mother,
ExperimentConfig a_config 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ placeInorgScintillators()

void NSDGeantHelper::placeInorgScintillators ( NSDG4::GeometryObject a_geoObject,
G4LogicalVolume *  a_mother,
ExperimentConfig a_config 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ placeOrgScintillators()

void NSDGeantHelper::placeOrgScintillators ( NSDG4::GeometryObject a_geoObject,
G4LogicalVolume *  a_mother,
ExperimentConfig a_config 
)
static

this function takes an experiment config containing organic scintillators derives rotation matrices and location for them and places them in the supplied mother volume (regularly the world to aviod overlaps)

Parameters
a_geoObjectconstructed right circular scintillator
a_motherthe logical volume to place it in
a_configconfig containing a
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: