ECCE @ EIC 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 (std::string _name, 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 84 of file PHG4SectorConstructor.h.

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

Member Typedef Documentation

Definition at line 223 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 223 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 278 of file PHG4SectorConstructor.h.

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

Constructor & Destructor Documentation

PHG4Sector::Sector_Geometry::Sector_Geometry ( )
inline

Definition at line 87 of file PHG4SectorConstructor.h.

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

References SetDefault().

+ Here is the call graph for this function:

Member Function Documentation

void PHG4Sector::Sector_Geometry::AddLayer ( std::string  _name,
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 237 of file PHG4SectorConstructor.h.

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

References layer_list.

Referenced by AddLayers_AeroGel_ePHENIX(), AddLayers_DriftVol_COMPASS(), AddLayers_GEMDrift(), AddLayers_HBD_GEM(), AddLayers_HBD_Readout(), AddLayers_MiniTPCDrift(), make_forward_station_basic(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

void 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 465 of file PHG4SectorConstructor.cc.

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

References AddLayer(), and cm.

Referenced by AerogelSetup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void 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 381 of file PHG4SectorConstructor.cc.

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

References AddLayer(), material, and um.

+ Here is the call graph for this function:

void 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 395 of file PHG4SectorConstructor.cc.

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

References AddLayer(), and cm.

Referenced by make_GEM_station().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void 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 449 of file PHG4SectorConstructor.cc.

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

References AddLayer(), and cm.

+ Here is the call graph for this function:

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

Definition at line 290 of file PHG4SectorConstructor.h.

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

References kConeEdge.

Referenced by make_forward_station_basic(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

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

Pseudorapidity.

Definition at line 215 of file PHG4SectorConstructor.h.

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

Referenced by AerogelSetup(), make_forward_station_basic(), make_GEM_station(), and Piston().

+ Here is the caller graph for this function:

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

Definition at line 296 of file PHG4SectorConstructor.h.

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

References kFlatEdge.

Referenced by AerogelSetup(), 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 101 of file PHG4SectorConstructor.h.

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

References layer_list.

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

Definition at line 107 of file PHG4SectorConstructor.h.

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

References material.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

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

Definition at line 113 of file PHG4SectorConstructor.h.

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

References max_polar_angle.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

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

Definition at line 302 of file PHG4SectorConstructor.h.

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

References max_polar_edge.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

double Sector_Geometry::get_max_R ( ) const

Definition at line 326 of file PHG4SectorConstructor.cc.

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

References kdfinder::abs(), FatalException, G4Exception(), get_normal_start(), get_total_thickness(), max, max_polar_angle, min_polar_angle, N_Sector, normal_polar_angle, and pi.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors(), and PHG4Sector::PHG4SectorConstructor::Construct_Sectors_Plane().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 119 of file PHG4SectorConstructor.h.

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

References min_polar_angle.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

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

Definition at line 308 of file PHG4SectorConstructor.h.

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

References min_polar_edge.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

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

Definition at line 95 of file PHG4SectorConstructor.h.

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

References N_Sector.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

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

Definition at line 125 of file PHG4SectorConstructor.h.

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

References normal_polar_angle.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors().

+ Here is the caller graph for this function:

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

Definition at line 131 of file PHG4SectorConstructor.h.

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

References normal_start.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors(), and get_max_R().

+ Here is the caller graph for this function:

double Sector_Geometry::get_total_thickness ( ) const

Definition at line 314 of file PHG4SectorConstructor.cc.

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

References it, layer_list, and sum.

Referenced by PHG4Sector::PHG4SectorConstructor::Construct_Sectors(), and get_max_R().

+ Here is the caller graph for this function:

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

Definition at line 226 of file PHG4SectorConstructor.h.

View newest version in sPHENIX GitHub at line 226 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 145 of file PHG4SectorConstructor.h.

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

References layer_list.

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

Definition at line 151 of file PHG4SectorConstructor.h.

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

References material.

Referenced by AerogelSetup(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

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

Definition at line 157 of file PHG4SectorConstructor.h.

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

References max_polar_angle, and pi.

Referenced by AerogelSetup(), PHG4Sector::PHG4SectorConstructor::Construct_Sectors(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_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 314 of file PHG4SectorConstructor.h.

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

References max_polar_edge.

Referenced by make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

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

Definition at line 166 of file PHG4SectorConstructor.h.

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

References min_polar_angle, and pi.

Referenced by AerogelSetup(), PHG4Sector::PHG4SectorConstructor::Construct_Sectors(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_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 320 of file PHG4SectorConstructor.h.

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

References min_polar_edge.

Referenced by AerogelSetup(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

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

Definition at line 137 of file PHG4SectorConstructor.h.

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

References N_Sector.

Referenced by AerogelSetup(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

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

Definition at line 175 of file PHG4SectorConstructor.h.

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

References normal_polar_angle, and pi.

Referenced by AerogelSetup(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

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

Definition at line 184 of file PHG4SectorConstructor.h.

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

References normal_start.

Referenced by AerogelSetup(), make_forward_station_basic(), make_GEM_station(), make_LANL_FST_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 207 of file PHG4SectorConstructor.h.

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

References normal_polar_angle, and set_normal_start().

+ Here is the call graph for this function:

void 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 241 of file PHG4SectorConstructor.cc.

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

References cm, kConeEdge, material, max_polar_angle, max_polar_edge, min_polar_angle, min_polar_edge, N_Sector, normal_polar_angle, and normal_start.

Referenced by Sector_Geometry().

+ Here is the caller graph for this function:

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

Unit.

Definition at line 200 of file PHG4SectorConstructor.h.

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

References cm.

Referenced by AddLayers_GEMDrift(), AddLayers_MiniTPCDrift(), AerogelSetup(), CTTLSetup(), ETTLSetup(), FSTSetup(), FTTLSetup(), make_forward_station_basic(), make_GEM_station(), and make_LANL_FST_station().

+ Here is the caller graph for this function:

Member Data Documentation

t_layer_list PHG4Sector::Sector_Geometry::layer_list
std::string PHG4Sector::Sector_Geometry::material
private

base material, usually the gas. Will fill between layers

Definition at line 348 of file PHG4SectorConstructor.h.

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

Referenced by AddLayers_DriftVol_COMPASS(), emcalc_gui.MainWindow::cb_select_material(), emcalc_gui.MainWindow::cb_show_plot(), get_material(), set_material(), and SetDefault().

double PHG4Sector::Sector_Geometry::max_polar_angle
private

polar angle for edges

Definition at line 339 of file PHG4SectorConstructor.h.

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

Referenced by get_max_polar_angle(), get_max_R(), set_max_polar_angle(), and SetDefault().

e_edge_typ PHG4Sector::Sector_Geometry::max_polar_edge
private

edge type

Definition at line 342 of file PHG4SectorConstructor.h.

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

Referenced by get_max_polar_edge(), set_max_polar_edge(), and SetDefault().

double PHG4Sector::Sector_Geometry::min_polar_angle
private

polar angle for edges

Definition at line 333 of file PHG4SectorConstructor.h.

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

Referenced by get_max_R(), get_min_polar_angle(), set_min_polar_angle(), and SetDefault().

e_edge_typ PHG4Sector::Sector_Geometry::min_polar_edge
private

edge type

Definition at line 336 of file PHG4SectorConstructor.h.

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

Referenced by get_min_polar_edge(), set_min_polar_edge(), and SetDefault().

int PHG4Sector::Sector_Geometry::N_Sector
private

number of sectors

Definition at line 327 of file PHG4SectorConstructor.h.

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

Referenced by get_max_R(), get_N_Sector(), set_N_Sector(), and SetDefault().

double PHG4Sector::Sector_Geometry::normal_polar_angle
private

polar angle for the normal vector

Definition at line 330 of file PHG4SectorConstructor.h.

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

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

double PHG4Sector::Sector_Geometry::normal_start
private

distance that detector starts from the normal direction

Definition at line 345 of file PHG4SectorConstructor.h.

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

Referenced by get_normal_start(), set_normal_start(), and SetDefault().


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