StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
StiSstDetectorBuilder Class Reference

#include <StiSstDetectorBuilder.h>

Inheritance diagram for StiSstDetectorBuilder:
StiDetectorBuilder Named StiSstDetectorBuilder1

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 StiMaterialadd (StiMaterial *material)
 
virtual StiShapeadd (StiShape *shape)
 
virtual StiDetectoradd (StiDetector *detector)
 
virtual StiDetectoradd (UInt_t row, UInt_t sector, StiDetector *detector)
 
virtual void del (UInt_t row, UInt_t sector)
 
virtual StiMaterialfindMaterial (const string &szName) const
 
virtual StiShapefindShape (const string &szName) const
 
virtual StiDetectorfindDetector (const string &szName) const
 
virtual StiDetectorgetDetector (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 StiDetectornext ()
 
virtual void build (StMaker &source)
 
double nice (double angle) const
 
void setGroupId (int id)
 
int getGroupId () const
 
StiTrackingParametersgetTrackingParameters ()
 
Factory< StiDetector > * getDetectorFactory ()
 
void SetCurrentDetectorBuilder (StiDetectorBuilder *m)
 
virtual void AverageVolume (TGeoPhysicalNode *nodeP)
 
void setGasMat (StiMaterial *m)
 
StiMaterialgetGasMat ()
 
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
 
StSstDbMakermSstDb
 
- 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 StiDetectorBuilderGetCurrentDetectorBuilder ()
 
static void MakeAverageVolume (TGeoPhysicalNode *nodeP)
 
- Static Protected Attributes inherited from StiDetectorBuilder
static StiDetectorBuilderfCurrentDetectorBuilder = 0
 
static int _debug = 0
 

Detailed Description

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/

Author
Dmitri Smirnov, BNL

Definition at line 24 of file StiSstDetectorBuilder.h.

Constructor & Destructor Documentation

StiSstDetectorBuilder::StiSstDetectorBuilder ( bool  active,
bool  buildIdealGeom = true 
)

Builds an object to direct the construction of Sti detectors/volumes.

Parameters
activeSet to true when accounting for hits in active volumes or false otherwise
buildIdealGeomSet to true (default) to ignore volume position transformation stored in the survey DB tables

Definition at line 38 of file StiSstDetectorBuilder.cxx.

Member Function Documentation

void StiSstDetectorBuilder::buildDetectors ( StMaker source)
virtual

Creates all Sti volumes of the SST detector.

Reimplemented from StiDetectorBuilder.

Definition at line 48 of file StiSstDetectorBuilder.cxx.

References buildInactiveVolumes(), and useVMCGeometry().

void StiSstDetectorBuilder::buildInactiveVolumes ( )
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.

Author
Dmitri Smirnov, BNL

Reimplemented in StiSstDetectorBuilder1.

Definition at line 181 of file StiSstDetectorBuilder.cxx.

References Factory< Abstract >::getInstance(), and StiDetector::setProperties().

Referenced by buildDetectors().

std::string StiSstDetectorBuilder::formTGeoPath ( int  ladder,
int  sensor 
)
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().

void StiSstDetectorBuilder::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().


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