Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4Sector::Sector_Geometry Class Reference

#include <coresoftware/blob/master/simulation/g4simulation/g4detectors/PHG4SectorConstructor.h>

+ Collaboration diagram for PHG4Sector::Sector_Geometry:

Public Types

enum  e_edge_typ { kConeEdge = 0, kFlatEdge = 1 }
 
typedef std::vector< Layert_layer_list
 

Public Member Functions

 Sector_Geometry ()
 
void SetDefault ()
 
int get_N_Sector () const
 
std::vector< Layer > & get_layer_list ()
 
std::string get_material () const
 
double get_max_polar_angle () const
 
double get_min_polar_angle () const
 
double get_normal_polar_angle () const
 
double get_normal_start () const
 
void set_N_Sector (int sector)
 
void set_layer_list (const std::vector< Layer > &layerList)
 
void set_material (const std::string &_material)
 
void set_max_polar_angle (double maxPolarAngle)
 
void set_min_polar_angle (double minPolarAngle)
 
void set_normal_polar_angle (double normalPolarAngle)
 
void set_normal_start (double normalZStart)
 
double get_max_R () const
 
double get_total_thickness () const
 
void set_normal_start (const double z_intercept, const double angle_intercept)
 Intercept certain z point at certain polar angle.
 
int GetNumActiveLayers () const
 
void AddLayer (const std::string &_name, const std::string &_material, double _depth, bool _active=false, double _percentage_filled=100)
 
void AddLayers_DriftVol_COMPASS (const double drift_vol_thickness=3 *mm)
 
void AddLayers_HBD_GEM (const int n_GEM_layers=3)
 
void AddLayers_HBD_Readout ()
 
void AddLayers_AeroGel_ePHENIX (const double radiator_length=2 *cm, const double expansion_length=18 *cm, std::string radiator="Default")
 
e_edge_typ get_max_polar_edge () const
 
e_edge_typ get_min_polar_edge () const
 
void set_max_polar_edge (e_edge_typ maxPolarEdge)
 
void set_min_polar_edge (e_edge_typ minPolarEdge)
 

Static Public Member Functions

static double Unit_cm ()
 Unit.
 
static double eta_to_polar_angle (const double eta)
 Pseudorapidity.
 
static e_edge_typ ConeEdge ()
 
static e_edge_typ FlatEdge ()
 

Public Attributes

t_layer_list layer_list
 

Private Attributes

int N_Sector
 number of sectors
 
double normal_polar_angle
 polar angle for the normal vector
 
double min_polar_angle
 polar angle for edges
 
e_edge_typ min_polar_edge
 edge type
 
double max_polar_angle
 polar angle for edges
 
e_edge_typ max_polar_edge
 edge type
 
double normal_start
 distance that detector starts from the normal direction
 
std::string material
 base material, usually the gas. Will fill between layers
 

Detailed Description

geometry data use GEANT units! Use

Definition at line 83 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 83 of file PHG4SectorConstructor.h

Member Typedef Documentation

Definition at line 221 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 221 of file PHG4SectorConstructor.h

Member Enumeration Documentation

Enumerator:
kConeEdge 

cone cut for the polar edge

kFlatEdge 

flat line edge in the azimuthal direction and along the normal_polar_angle

Definition at line 276 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 276 of file PHG4SectorConstructor.h

Constructor & Destructor Documentation

PHG4Sector::Sector_Geometry::Sector_Geometry ( )
inline

Definition at line 86 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 86 of file PHG4SectorConstructor.h

References SetDefault().

+ Here is the call graph for this function:

Member Function Documentation

void PHG4Sector::Sector_Geometry::AddLayer ( const std::string &  _name,
const std::string &  _material,
double  _depth,
bool  _active = false,
double  _percentage_filled = 100 
)
inline
Parameters
_materialname base for this layer
_depthmaterial name in G4
_activedepth in G4 units
_percentage_filledactive detector element for sensitive detector? percentage filled//

Definition at line 235 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 235 of file PHG4SectorConstructor.h

References layer_list.

Referenced by AddLayers_MiniTPCDrift(), and DIRCSetup().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::AddLayers_AeroGel_ePHENIX ( const double  radiator_length = 2 * cm,
const double  expansion_length = 18 * cm,
std::string  radiator = "Default" 
)

Rough AeroGel detector Ref: T. Iijima et al. A Novel type of proximity focusing RICH counter with multiple refractive index aerogel radiator. Nucl. Instrum. Meth., A548:383 390, 2005. arXiv: physics/0504220, doi:10.1016/j.nima.2005.05.030

Definition at line 458 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 458 of file PHG4SectorConstructor.cc

References Acts::UnitConstants::cm.

Referenced by AerogelSetup().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::AddLayers_DriftVol_COMPASS ( const double  drift_vol_thickness = 3 * mm)

add Entrace window and drift volume Ref: P. Abbon et al. The COMPASS experiment at CERN. Nucl. Instrum. Meth., A577:455 518, 2007. arXiv:hep-ex/0703049, doi:10.1016/j.nima.2007.03.026. 3

Definition at line 374 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 374 of file PHG4SectorConstructor.cc

References material, and Acts::UnitConstants::um.

Referenced by make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::AddLayers_HBD_GEM ( const int  n_GEM_layers = 3)

add HBD GEM to the layer list, Ref: W. Anderson et al. Design, Construction, Operation and Performance of a Hadron Blind Detector for the PHENIX Experiment. Nucl. Instrum. Meth., A646:35 58, 2011. arXiv:1103.4277, doi:10.1016/j.nima.2011.04.015. 3.5.1

Definition at line 388 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 388 of file PHG4SectorConstructor.cc

References Acts::UnitConstants::cm, and Jetscape::sid.

Referenced by FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::AddLayers_HBD_Readout ( )

add HBD readout, Ref: W. Anderson et al. Design, Construction, Operation and Performance of a Hadron Blind Detector for the PHENIX Experiment. Nucl. Instrum. Meth., A646:35 58, 2011. arXiv:1103.4277, doi:10.1016/j.nima.2011.04.015. 3.5.1

Definition at line 442 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 442 of file PHG4SectorConstructor.cc

References Acts::UnitConstants::cm.

static e_edge_typ PHG4Sector::Sector_Geometry::ConeEdge ( )
inlinestatic

Definition at line 288 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 288 of file PHG4SectorConstructor.h

References kConeEdge.

static double PHG4Sector::Sector_Geometry::eta_to_polar_angle ( const double  eta)
inlinestatic

Pseudorapidity.

Definition at line 214 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 214 of file PHG4SectorConstructor.h

Referenced by AerogelSetup(), FGEMSetup(), make_GEM_station(), and make_piston().

+ Here is the caller graph for this function:

static e_edge_typ PHG4Sector::Sector_Geometry::FlatEdge ( )
inlinestatic

Definition at line 294 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 294 of file PHG4SectorConstructor.h

References kFlatEdge.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

std::vector<Layer>& PHG4Sector::Sector_Geometry::get_layer_list ( )
inline

Definition at line 100 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 100 of file PHG4SectorConstructor.h

References layer_list.

std::string PHG4Sector::Sector_Geometry::get_material ( ) const
inline

Definition at line 106 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 106 of file PHG4SectorConstructor.h

References material.

double PHG4Sector::Sector_Geometry::get_max_polar_angle ( ) const
inline

Definition at line 112 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 112 of file PHG4SectorConstructor.h

References max_polar_angle.

e_edge_typ PHG4Sector::Sector_Geometry::get_max_polar_edge ( ) const
inline

Definition at line 300 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 300 of file PHG4SectorConstructor.h

References max_polar_edge.

double PHG4Sector::Sector_Geometry::get_max_R ( ) const

Definition at line 319 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 319 of file PHG4SectorConstructor.cc

References assert, and pi.

double PHG4Sector::Sector_Geometry::get_min_polar_angle ( ) const
inline

Definition at line 118 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 118 of file PHG4SectorConstructor.h

References min_polar_angle.

e_edge_typ PHG4Sector::Sector_Geometry::get_min_polar_edge ( ) const
inline

Definition at line 306 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 306 of file PHG4SectorConstructor.h

References min_polar_edge.

int PHG4Sector::Sector_Geometry::get_N_Sector ( ) const
inline

Definition at line 94 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 94 of file PHG4SectorConstructor.h

References N_Sector.

double PHG4Sector::Sector_Geometry::get_normal_polar_angle ( ) const
inline

Definition at line 124 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 124 of file PHG4SectorConstructor.h

References normal_polar_angle.

double PHG4Sector::Sector_Geometry::get_normal_start ( ) const
inline

Definition at line 130 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 130 of file PHG4SectorConstructor.h

References normal_start.

double PHG4Sector::Sector_Geometry::get_total_thickness ( ) const

Definition at line 308 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 308 of file PHG4SectorConstructor.cc

References it, and sum().

+ Here is the call graph for this function:

int PHG4Sector::Sector_Geometry::GetNumActiveLayers ( ) const
inline

Definition at line 224 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 224 of file PHG4SectorConstructor.h

References it, layer_list, and n.

Referenced by PHG4SectorSubsystem::Init().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_layer_list ( const std::vector< Layer > &  layerList)
inline

Definition at line 144 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 144 of file PHG4SectorConstructor.h

References layer_list.

void PHG4Sector::Sector_Geometry::set_material ( const std::string &  _material)
inline

Definition at line 150 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 150 of file PHG4SectorConstructor.h

References material.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_max_polar_angle ( double  maxPolarAngle)
inline

Definition at line 156 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 156 of file PHG4SectorConstructor.h

References assert, max_polar_angle, and pi.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_max_polar_edge ( e_edge_typ  maxPolarEdge)
inline

Definition at line 312 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 312 of file PHG4SectorConstructor.h

References max_polar_edge.

Referenced by DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_min_polar_angle ( double  minPolarAngle)
inline

Definition at line 165 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 165 of file PHG4SectorConstructor.h

References assert, min_polar_angle, and pi.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_min_polar_edge ( e_edge_typ  minPolarEdge)
inline

Definition at line 318 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 318 of file PHG4SectorConstructor.h

References min_polar_edge.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_N_Sector ( int  sector)
inline

Definition at line 136 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 136 of file PHG4SectorConstructor.h

References assert, and N_Sector.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_normal_polar_angle ( double  normalPolarAngle)
inline

Definition at line 174 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 174 of file PHG4SectorConstructor.h

References assert, normal_polar_angle, and pi.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_normal_start ( double  normalZStart)
inline

Definition at line 183 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 183 of file PHG4SectorConstructor.h

References normal_start.

Referenced by AerogelSetup(), DIRCSetup(), FGEMSetup(), make_GEM_station(), and set_normal_start().

+ Here is the caller graph for this function:

void PHG4Sector::Sector_Geometry::set_normal_start ( const double  z_intercept,
const double  angle_intercept 
)
inline

Intercept certain z point at certain polar angle.

Definition at line 206 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 206 of file PHG4SectorConstructor.h

References normal_polar_angle, and set_normal_start().

+ Here is the call graph for this function:

void PHG4Sector::Sector_Geometry::SetDefault ( )

polar angle for the normal vector

polar angle for edges

polar angle for edges

distance that detector starts from the normal direction

Definition at line 235 of file PHG4SectorConstructor.cc.

View newest version in sPHENIX GitHub at line 235 of file PHG4SectorConstructor.cc

References Acts::UnitConstants::cm, and material.

Referenced by Sector_Geometry().

+ Here is the caller graph for this function:

static double PHG4Sector::Sector_Geometry::Unit_cm ( )
inlinestatic

Unit.

Definition at line 199 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 199 of file PHG4SectorConstructor.h

References Acts::UnitConstants::cm.

Referenced by AddLayers_MiniTPCDrift(), AerogelSetup(), DIRCSetup(), FGEMSetup(), and make_GEM_station().

+ Here is the caller graph for this function:

Member Data Documentation

t_layer_list PHG4Sector::Sector_Geometry::layer_list

Definition at line 222 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 222 of file PHG4SectorConstructor.h

Referenced by AddLayer(), get_layer_list(), GetNumActiveLayers(), and set_layer_list().

std::string PHG4Sector::Sector_Geometry::material
private

base material, usually the gas. Will fill between layers

Definition at line 346 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 346 of file PHG4SectorConstructor.h

Referenced by get_material(), and set_material().

double PHG4Sector::Sector_Geometry::max_polar_angle
private

polar angle for edges

Definition at line 337 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 337 of file PHG4SectorConstructor.h

Referenced by get_max_polar_angle(), and set_max_polar_angle().

e_edge_typ PHG4Sector::Sector_Geometry::max_polar_edge
private

edge type

Definition at line 340 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 340 of file PHG4SectorConstructor.h

Referenced by get_max_polar_edge(), and set_max_polar_edge().

double PHG4Sector::Sector_Geometry::min_polar_angle
private

polar angle for edges

Definition at line 331 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 331 of file PHG4SectorConstructor.h

Referenced by get_min_polar_angle(), and set_min_polar_angle().

e_edge_typ PHG4Sector::Sector_Geometry::min_polar_edge
private

edge type

Definition at line 334 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 334 of file PHG4SectorConstructor.h

Referenced by get_min_polar_edge(), and set_min_polar_edge().

int PHG4Sector::Sector_Geometry::N_Sector
private

number of sectors

Definition at line 325 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 325 of file PHG4SectorConstructor.h

Referenced by get_N_Sector(), and set_N_Sector().

double PHG4Sector::Sector_Geometry::normal_polar_angle
private

polar angle for the normal vector

Definition at line 328 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 328 of file PHG4SectorConstructor.h

Referenced by get_normal_polar_angle(), set_normal_polar_angle(), and set_normal_start().

double PHG4Sector::Sector_Geometry::normal_start
private

distance that detector starts from the normal direction

Definition at line 343 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 343 of file PHG4SectorConstructor.h

Referenced by get_normal_start(), and set_normal_start().


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