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

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

+ Inheritance diagram for PHG4CylinderGeom_Spacalv2:
+ Collaboration diagram for PHG4CylinderGeom_Spacalv2:

Public Member Functions

 PHG4CylinderGeom_Spacalv2 ()
 
 ~PHG4CylinderGeom_Spacalv2 () override
 
void identify (std::ostream &os=std::cout) const override
 
void Print (Option_t *option="") const override
 
void SetDefault () override
 
void ImportParameters (const PHParameters &param) override
 load parameters from PHParameters, which interface to Database/XML/ROOT files
 
int get_azimuthal_n_sec () const override
 
virtual void set_azimuthal_n_sec (int azimuthalNSec)
 
double get_azimuthal_tilt () const
 azimuthal tilt in rad
 
void set_azimuthal_tilt (double azimuthalTilt)
 azimuthal tilt in rad
 
bool is_azimuthal_seg_visible () const override
 
virtual void set_azimuthal_seg_visible (bool b=true)
 
double get_polar_taper_ratio () const
 
void set_polar_taper_ratio (double polarTaperRatio)
 
double get_half_polar_taper_angle () const
 
double get_sec_azimuthal_width () const
 
double get_sec_depth () const
 
double get_block_width () const
 
double get_block_depth () const
 
double get_assembly_spacing () const
 
void set_assembly_spacing (double assemblySpacing)
 
double get_reg_fiber_grid_distance_taper () const
 regulated fiber distance in the tapering direction
 
double get_reg_fiber_grid_distance_nontaper () const
 regulated fiber distance in the non-tapering direction
 
- Public Member Functions inherited from PHG4CylinderGeom_Spacalv1
 PHG4CylinderGeom_Spacalv1 ()
 
 ~PHG4CylinderGeom_Spacalv1 () override
 
void Print (Option_t *option="") const override
 
double get_max_radius () const
 
double get_half_radius () const
 
double get_length () const
 
double get_xpos () const
 
void set_xpos (double x)
 
double get_ypos () const
 
void set_ypos (double y)
 
double get_zpos () const
 
void set_zpos (double z)
 
double get_fiber_outer_r () const
 
double get_fiber_clading_thickness () const
 
void set_fiber_clading_thickness (double fiberCladingThickness)
 
double get_fiber_core_diameter () const
 
void set_fiber_core_diameter (double fiberCoreDiameter)
 
double get_fiber_distance () const
 
void set_fiber_distance (double fiberDistance)
 
std::string get_absorber_mat () const
 
void set_absorber_mat (const std::string &absorberMat)
 
std::string get_fiber_clading_mat () const
 
void set_fiber_clading_mat (const std::string &fiberCladingMat)
 
std::string get_fiber_core_mat () const
 
void set_fiber_core_mat (const std::string &fiberCoreMat)
 
virtual double get_azimuthal_distance () const
 
virtual double get_z_distance () const
 
const sector_map_tget_sector_map () const
 sector map sector_ID -> azimuthal rotation.
 
sector_map_tget_sector_map ()
 sector map sector_ID -> azimuthal rotation.
 
void init_default_sector_map ()
 load a default map that populate all the sectors
 
double get_fiber_core_step_size () const
 
config_t get_config () const
 
void set_config (config_t c)
 
bool is_virualize_fiber () const
 
void set_virualize_fiber (bool virualizeFiber=true)
 
int get_construction_verbose () const
 
void set_construction_verbose (int constructionVerbose)
 
- Public Member Functions inherited from PHG4CylinderGeomv2
 PHG4CylinderGeomv2 ()
 
 PHG4CylinderGeomv2 (const double r, const double zmi, const double zma, const double thickn, const int n_scint)
 
 ~PHG4CylinderGeomv2 () override
 
void identify (std::ostream &os=std::cout) const override
 
void set_nscint (const int i) override
 
int get_nscint () const override
 
void ImportParameters (const PHParameters &param) override
 load parameters from PHParameters, which interface to Database/XML/ROOT files
 
- Public Member Functions inherited from PHG4CylinderGeomv1
 PHG4CylinderGeomv1 ()
 
 PHG4CylinderGeomv1 (const double r, const double zmi, const double zma, const double thickn)
 
 ~PHG4CylinderGeomv1 () override
 
int get_layer () const override
 
double get_radius () const override
 
double get_thickness () const override
 
double get_zmin () const override
 
double get_zmax () const override
 
void set_layer (const int i) override
 
void set_radius (const double r) override
 
void set_thickness (const double t) override
 
void set_zmin (const double z) override
 
void set_zmax (const double z) override
 
- Public Member Functions inherited from PHG4CylinderGeom
 ~PHG4CylinderGeom () override
 
virtual double get_tiltangle () const
 
virtual double get_phi_slat_zero () const
 
virtual void set_tiltangle (const double)
 
virtual void set_phi_slat_zero (const double)
 
virtual void find_segment_center (const int, const int, double[])
 
virtual void find_strip_center (const int, const int, const int, const int, double[])
 
virtual void find_strip_index_values (const int, const double, const double, int &, int &)
 
virtual void find_strip_center_local_coords (const int, const int, const int, double[])
 
virtual double get_strip_y_spacing () const
 
virtual double get_strip_z_spacing () const
 
virtual double get_strip_tilt () const
 
virtual int get_N_strip_columns () const
 
virtual int get_N_strips_per_column () const
 
virtual int get_N_sensors_in_layer () const
 
virtual double get_pixel_z () const
 
virtual double get_pixel_x () const
 
virtual double get_pixel_thickness () const
 
- Public Member Functions inherited from PHObject
 PHObject ()
 ctor
 
 ~PHObject () override
 dtor
 
virtual PHObjectCloneMe () const
 Virtual copy constructor.
 
virtual PHObjectclone () const final
 
PHObjectClone (const char *newname="") const final
 
void Copy (TObject &object) const final
 
virtual void Reset ()
 Clear Event.
 
virtual int isValid () const
 isValid returns non zero if object contains vailid data
 
virtual int Integrate () const
 
virtual int Integrate (PHObject *)
 
virtual void CopyFrom (const PHObject *obj)
 

Protected Attributes

int azimuthal_n_sec
 
double azimuthal_tilt
 azimuthal tilt in rad
 
bool azimuthal_seg_visible
 
double polar_taper_ratio
 
double assembly_spacing
 
- Protected Attributes inherited from PHG4CylinderGeom_Spacalv1
std::string absorber_mat
 
std::string fiber_core_mat
 
std::string fiber_clading_mat
 
double xpos
 
double ypos
 
double zpos
 
double fiber_core_diameter
 
double fiber_clading_thickness
 
double fiber_distance
 
config_t config
 
bool virualize_fiber
 
int construction_verbose
 
sector_map_t sector_map
 sector map sector_ID -> azimuthal rotation.
 
- Protected Attributes inherited from PHG4CylinderGeomv2
int nscint = -9999
 
- Protected Attributes inherited from PHG4CylinderGeomv1
int layer = -1
 
double radius = NAN
 
double zmin = NAN
 
double zmax = NAN
 
double thickness = NAN
 

Additional Inherited Members

- Public Types inherited from PHG4CylinderGeom_Spacalv1
typedef std::map< int, doublesector_map_t
 sector map sector_ID -> azimuthal rotation.
 
enum  config_t {
  kNonProjective = 0, k1DProjectiveSpacal = kNonProjective, kFullProjective_2DTaper = 2, kFullProjective_2DTaper_SameLengthFiberPerTower = 3,
  kFullProjective_2DTaper_Tilted = 4, kFullProjective_2DTaper_Tilted_SameLengthFiberPerTower = 5, k2DProjectiveSpacal = kFullProjective_2DTaper_Tilted_SameLengthFiberPerTower, kInvalidSpacalConfig
}
 
- Protected Member Functions inherited from PHG4CylinderGeom
 PHG4CylinderGeom ()
 

Detailed Description

Definition at line 22 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 22 of file PHG4CylinderGeom_Spacalv2.h

Constructor & Destructor Documentation

PHG4CylinderGeom_Spacalv2::PHG4CylinderGeom_Spacalv2 ( )

Definition at line 23 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 23 of file PHG4CylinderGeom_Spacalv2.cc

References SetDefault().

+ Here is the call graph for this function:

PHG4CylinderGeom_Spacalv2::~PHG4CylinderGeom_Spacalv2 ( )
inlineoverride

Definition at line 27 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 27 of file PHG4CylinderGeom_Spacalv2.h

Member Function Documentation

double PHG4CylinderGeom_Spacalv2::get_assembly_spacing ( ) const
inline
double PHG4CylinderGeom_Spacalv2::get_azimuthal_tilt ( ) const
inline

azimuthal tilt in rad

Definition at line 49 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 49 of file PHG4CylinderGeom_Spacalv2.h

References azimuthal_tilt.

Referenced by PHG4SpacalPrototype4Detector::Construct_AzimuthalSeg(), get_sec_azimuthal_width(), PHG4CylinderGeom_Spacalv3::get_tower_radial_position(), and Print().

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_block_depth ( ) const
inline

Definition at line 99 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 99 of file PHG4CylinderGeom_Spacalv2.h

References get_assembly_spacing(), get_block_width(), get_polar_taper_ratio(), and get_sec_depth().

Referenced by get_half_polar_taper_angle(), and Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_block_width ( ) const
inline

Definition at line 93 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 93 of file PHG4CylinderGeom_Spacalv2.h

References get_sec_azimuthal_width().

Referenced by get_block_depth(), get_half_polar_taper_angle(), get_reg_fiber_grid_distance_nontaper(), get_reg_fiber_grid_distance_taper(), and Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_half_polar_taper_angle ( ) const

Definition at line 119 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 119 of file PHG4CylinderGeom_Spacalv2.cc

References get_block_depth(), get_block_width(), and get_polar_taper_ratio().

+ Here is the call graph for this function:

double PHG4CylinderGeom_Spacalv2::get_polar_taper_ratio ( ) const
inline

Definition at line 65 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 65 of file PHG4CylinderGeom_Spacalv2.h

References polar_taper_ratio.

Referenced by get_block_depth(), get_half_polar_taper_angle(), get_reg_fiber_grid_distance_taper(), and Print().

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_reg_fiber_grid_distance_nontaper ( ) const

regulated fiber distance in the non-tapering direction

Definition at line 182 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 182 of file PHG4CylinderGeom_Spacalv2.cc

References get_assembly_spacing(), get_block_width(), and PHG4CylinderGeom_Spacalv1::get_fiber_distance().

Referenced by Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_reg_fiber_grid_distance_taper ( ) const

regulated fiber distance in the tapering direction

Definition at line 171 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 171 of file PHG4CylinderGeom_Spacalv2.cc

References get_assembly_spacing(), get_block_width(), PHG4CylinderGeom_Spacalv1::get_fiber_distance(), and get_polar_taper_ratio().

Referenced by Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_sec_azimuthal_width ( ) const

Definition at line 106 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 106 of file PHG4CylinderGeom_Spacalv2.cc

References double(), get_assembly_spacing(), get_azimuthal_n_sec(), get_azimuthal_tilt(), PHG4CylinderGeomv1::get_radius(), pi, and twopi.

Referenced by get_block_width(), get_sec_depth(), and Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_sec_depth ( ) const
inline

Definition at line 82 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 82 of file PHG4CylinderGeom_Spacalv2.h

References get_assembly_spacing(), PHG4CylinderGeomv1::get_radius(), get_sec_azimuthal_width(), and PHG4CylinderGeomv1::get_thickness().

Referenced by get_block_depth(), and Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4CylinderGeom_Spacalv2::identify ( std::ostream &  os = std::cout) const
overridevirtual

identify Function from PHObject

Parameters
osOutput Stream

Reimplemented from PHG4CylinderGeom_Spacalv1.

Reimplemented in PHG4CylinderGeom_Spacalv3.

Definition at line 28 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 28 of file PHG4CylinderGeom_Spacalv2.cc

References PHG4CylinderGeomv1::layer, PHG4CylinderGeomv2::nscint, PHG4CylinderGeomv1::radius, PHG4CylinderGeomv1::thickness, PHG4CylinderGeomv1::zmax, and PHG4CylinderGeomv1::zmin.

void PHG4CylinderGeom_Spacalv2::ImportParameters ( const PHParameters param)
overridevirtual

load parameters from PHParameters, which interface to Database/XML/ROOT files

Reimplemented from PHG4CylinderGeom_Spacalv1.

Reimplemented in PHG4CylinderGeom_Spacalv3.

Definition at line 86 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 86 of file PHG4CylinderGeom_Spacalv2.cc

References assembly_spacing, azimuthal_n_sec, azimuthal_seg_visible, azimuthal_tilt, PHParameters::exist_double_param(), PHParameters::exist_int_param(), PHParameters::get_double_param(), PHParameters::get_int_param(), PHG4CylinderGeom_Spacalv1::ImportParameters(), and polar_taper_ratio.

Referenced by PHG4CylinderGeom_Spacalv3::ImportParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool PHG4CylinderGeom_Spacalv2::is_azimuthal_seg_visible ( ) const
overridevirtual

Reimplemented from PHG4CylinderGeom_Spacalv1.

Definition at line 149 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 149 of file PHG4CylinderGeom_Spacalv2.cc

References azimuthal_seg_visible.

Referenced by PHG4SpacalPrototypeDetector::Construct_AzimuthalSeg(), PHG4SpacalPrototype4Detector::Construct_LightGuide(), PHG4SpacalPrototypeDetector::Construct_LightGuide(), PHG4SpacalPrototype4Detector::Construct_Tower(), PHG4SpacalPrototypeDetector::Construct_Tower(), PHG4SpacalPrototypeDetector::ConstructMe(), and Print().

+ Here is the caller graph for this function:

void PHG4CylinderGeom_Spacalv2::Print ( Option_t *  option = "") const
override

Definition at line 41 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 41 of file PHG4CylinderGeom_Spacalv2.cc

References get_assembly_spacing(), get_azimuthal_tilt(), get_block_depth(), get_block_width(), get_polar_taper_ratio(), get_reg_fiber_grid_distance_nontaper(), get_reg_fiber_grid_distance_taper(), get_sec_azimuthal_width(), get_sec_depth(), is_azimuthal_seg_visible(), and PHG4CylinderGeom_Spacalv1::Print().

Referenced by PHG4CylinderGeom_Spacalv3::Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4CylinderGeom_Spacalv2::set_assembly_spacing ( double  assemblySpacing)
inline

Definition at line 110 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 110 of file PHG4CylinderGeom_Spacalv2.h

References assembly_spacing.

void PHG4CylinderGeom_Spacalv2::set_azimuthal_n_sec ( int  azimuthalNSec)
virtual

Definition at line 134 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 134 of file PHG4CylinderGeom_Spacalv2.cc

References azimuthal_n_sec, PHG4CylinderGeom_Spacalv1::config, and PHG4CylinderGeom_Spacalv1::kNonProjective.

void PHG4CylinderGeom_Spacalv2::set_azimuthal_seg_visible ( bool  b = true)
virtual
void PHG4CylinderGeom_Spacalv2::set_azimuthal_tilt ( double  azimuthalTilt)
inline

azimuthal tilt in rad

Definition at line 56 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 56 of file PHG4CylinderGeom_Spacalv2.h

References azimuthal_tilt.

void PHG4CylinderGeom_Spacalv2::set_polar_taper_ratio ( double  polarTaperRatio)
inline

Definition at line 71 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 71 of file PHG4CylinderGeom_Spacalv2.h

References polar_taper_ratio.

void PHG4CylinderGeom_Spacalv2::SetDefault ( )
overridevirtual

Reimplemented from PHG4CylinderGeom_Spacalv1.

Reimplemented in PHG4CylinderGeom_Spacalv3.

Definition at line 73 of file PHG4CylinderGeom_Spacalv2.cc.

View newest version in sPHENIX GitHub at line 73 of file PHG4CylinderGeom_Spacalv2.cc

References assembly_spacing, azimuthal_n_sec, azimuthal_seg_visible, azimuthal_tilt, polar_taper_ratio, and PHG4CylinderGeom_Spacalv1::SetDefault().

Referenced by PHG4CylinderGeom_Spacalv2(), and PHG4CylinderGeom_Spacalv3::SetDefault().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation


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