StRoot
1
|
#include <StiSstDetectorBuilder.h>
Public Member Functions | |
StiSstDetectorBuilder (bool active, bool buildIdealGeom=true) | |
virtual void | buildDetectors (StMaker &source) |
virtual void | useVMCGeometry () |
Public Member Functions inherited from StiDetectorBuilder | |
StiDetectorBuilder (const string &name, bool active) | |
detectorMap | getDetectors () |
virtual StiMaterial * | add (StiMaterial *material) |
virtual StiShape * | add (StiShape *shape) |
virtual StiDetector * | add (StiDetector *detector) |
virtual StiDetector * | add (UInt_t row, UInt_t sector, StiDetector *detector) |
virtual void | del (UInt_t row, UInt_t sector) |
virtual StiMaterial * | findMaterial (const string &szName) const |
virtual StiShape * | findShape (const string &szName) const |
virtual StiDetector * | findDetector (const string &szName) const |
virtual StiDetector * | getDetector (UInt_t layer, UInt_t sector) const |
virtual void | setDetector (UInt_t layer, UInt_t sector, StiDetector *detector) |
virtual void | setNRows (UInt_t nRows) |
virtual UInt_t | getNRows () const |
virtual UInt_t | getNSectors (UInt_t row=0) const |
virtual void | setNSectors (UInt_t row, UInt_t nSectors) |
virtual bool | hasMore () const |
virtual StiDetector * | next () |
virtual void | build (StMaker &source) |
double | nice (double angle) const |
void | setGroupId (int id) |
int | getGroupId () const |
StiTrackingParameters * | getTrackingParameters () |
Factory< StiDetector > * | getDetectorFactory () |
void | SetCurrentDetectorBuilder (StiDetectorBuilder *m) |
virtual void | AverageVolume (TGeoPhysicalNode *nodeP) |
void | setGasMat (StiMaterial *m) |
StiMaterial * | getGasMat () |
void | setSplit (double relThick=0.5, int maxSplit=20) |
void | Print () const |
Public Member Functions inherited from Named | |
void | setName (const string &newName) |
Set the name of the object. | |
const string & | getName () const |
Get the name of the object. | |
bool | isName (const string &aName) const |
Determine whether name equals given name. | |
Protected Member Functions | |
virtual void | buildInactiveVolumes () |
Protected Member Functions inherited from Named | |
Named (const string &aName=" ") | |
Only derived class are Named. | |
Static Protected Member Functions | |
static std::string | formTGeoPath (int ladder, int sensor) |
Returns a TGeo path to the sensor in the given ladder. More... | |
Protected Attributes | |
bool | mBuildIdealGeom |
StSstDbMaker * | mSstDb |
Protected Attributes inherited from StiDetectorBuilder | |
float | mThkSplit |
int | mMaxSplit |
int | _groupId |
bool | _active |
materialMap | mMaterialMap |
shapeMap | mShapeMap |
detectorMap | mDetectorMap |
detectorIterator | mDetectorIterator |
vector< vector< StiDetector * > > | _detectors |
Factory< StiDetector > * | _detectorFactory |
StiTrackingParameters * | _trackingParameters |
StiMaterial * | _gasMat |
Protected Attributes inherited from Named | |
string | _name |
Additional Inherited Members | |
Static Public Member Functions inherited from StiDetectorBuilder | |
static void | setDebug (int m=0) |
static int | debug () |
static StiDetectorBuilder * | GetCurrentDetectorBuilder () |
static void | MakeAverageVolume (TGeoPhysicalNode *nodeP) |
Static Protected Attributes inherited from StiDetectorBuilder | |
static StiDetectorBuilder * | fCurrentDetectorBuilder = 0 |
static int | _debug = 0 |
This detector builder is responsible for constructing sensitive and inactive Sti volumes describing the material of the SST detector. The corresponding SST detector geometry is described in AgML files in StarVMC/Geometry/
Definition at line 24 of file StiSstDetectorBuilder.h.
StiSstDetectorBuilder::StiSstDetectorBuilder | ( | bool | active, |
bool | buildIdealGeom = true |
||
) |
Builds an object to direct the construction of Sti detectors/volumes.
active | Set to true when accounting for hits in active volumes or false otherwise |
buildIdealGeom | Set to true (default) to ignore volume position transformation stored in the survey DB tables |
Definition at line 38 of file StiSstDetectorBuilder.cxx.
|
virtual |
Creates all Sti volumes of the SST detector.
Reimplemented from StiDetectorBuilder.
Definition at line 48 of file StiSstDetectorBuilder.cxx.
References buildInactiveVolumes(), and useVMCGeometry().
|
protectedvirtual |
Creates a crude model of the SST detector. The geometry is modeled with tubes segmented in z and r. The dimensions and other physical properties of the tube volumes are determined manually by looking at distribution of the material in the ROOT TGeo geometry.
We use the following dimensions and material properties:
SFMO_CENTER_IN: 22.2 < r < 23.5 cm -34.25 < z < 34.25 cm Z = 7.38471 A = 14.7875 Dens = 0.1777280 X0 = 28128.1 SFMO_CENTER_MID: 23.5 < r < 25.8 cm -34.25 < z < 34.25 cm Z = 7.29364 A = 14.5971 Dens = 0.0147153 X0 = 30146.9 SFMO_CENTER_OUT: 25.8 < r < 27.0 cm -34.25 < z < 34.25 cm Z = 7.27831 A = 14.5655 Dens = 0.0372666 X0 = 29681.4
SFMO_LEFT_IN: 22.2 < r < 23.5 cm -51.50 < z < -34.25 cm Z = 7.90551 A = 15.8598 Dens = 0.5131150 X0 = 21711.5 SFMO_LEFT_MID: 23.5 < r < 25.0 cm -49.50 < z < -34.25 cm Z = 7.67447 A = 15.3544 Dens = 0.3013760 X0 = 23510.2 SFMO_LEFT_OUT: 25.0 < r < 26.5 cm -49.50 < z < -34.25 cm Z = 7.52669 A = 15.0602 Dens = 0.2235500 X0 = 25904.3
SFMO_RIGHT_IN: 22.2 < r < 23.5 cm 34.25 < z < 51.50 cm Z = 7.92641 A = 15.9019 Dens = 0.5298270 X0 = 21402.6 SFMO_RIGHT_MID: 23.5 < r < 25.0 cm 34.25 < z < 49.50 cm Z = 7.66531 A = 15.3361 Dens = 0.2953080 X0 = 23582.3 SFMO_RIGHT_OUT: 25.0 < r < 26.5 cm 34.25 < z < 49.50 cm Z = 7.53069 A = 15.0682 Dens = 0.2273420 X0 = 25831.5
The inner radius of the central tube is increased by 0.85 cm to avoid overlap with sensitive layers, and the density of that volume is scaled accordingly.
Reimplemented in StiSstDetectorBuilder1.
Definition at line 181 of file StiSstDetectorBuilder.cxx.
References Factory< Abstract >::getInstance(), and StiDetector::setProperties().
Referenced by buildDetectors().
|
staticprotected |
Returns a TGeo path to the sensor in the given ladder.
Returns a full path to the SST sensor placed in a predifined location in the detector's ROOT geometry. An empty string is returned if the sensor not found in the geometry hierarchy (via gGeoManager).
Definition at line 270 of file StiSstDetectorBuilder.cxx.
Referenced by useVMCGeometry().
|
virtual |
Builds active Sti volumes by creating Sti shapes corresponding to the sensors of the SST detector. The created Sti detectors are positioned using either the ideal (ROOT's TGeo gGeoManager) or missaligned geometry from the STAR database via object of the StSstDbMaker class.
Reimplemented from StiDetectorBuilder.
Definition at line 92 of file StiSstDetectorBuilder.cxx.
References formTGeoPath(), StSstDbMaker::getHMatrixSensorOnGlobal(), Factory< Abstract >::getInstance(), and StiDetector::setProperties().
Referenced by buildDetectors().