EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4CylinderGeom_Spacalv2 Class Reference

#include <fun4all_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 xpos)
 
double get_ypos () const
 
void set_ypos (double ypos)
 
double get_zpos () const
 
void set_zpos (double zpos)
 
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 config)
 
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 isValid (const float) const
 
virtual int isValid (const double) const
 
virtual int isValid (const int) const
 
virtual int isValid (const unsigned int) const
 
virtual int isImplemented (const float f) const
 
virtual int isImplemented (const double f) const
 
virtual int isImplemented (const int i) const
 
virtual int isImplemented (const unsigned int i) const
 
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, double > sector_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 26 of file PHG4CylinderGeom_Spacalv2.cc.

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

PHG4CylinderGeom_Spacalv2::~PHG4CylinderGeom_Spacalv2 ( )
inlineoverride

Definition at line 28 of file PHG4CylinderGeom_Spacalv2.h.

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

Member Function Documentation

double PHG4CylinderGeom_Spacalv2::get_assembly_spacing ( ) const
inline

Definition at line 113 of file PHG4CylinderGeom_Spacalv2.h.

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

References assembly_spacing.

Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), get_block_depth(), get_sec_depth(), and PHG4CylinderGeom_Spacalv3::get_tower_radial_position().

+ Here is the caller graph for this function:

int PHG4CylinderGeom_Spacalv2::get_azimuthal_n_sec ( ) const
overridevirtual

Reimplemented from PHG4CylinderGeom_Spacalv1.

Definition at line 127 of file PHG4CylinderGeom_Spacalv2.cc.

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

Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), PHG4CylinderGeom_Spacalv3::get_tower_radial_position(), PHG4FullProjSpacalCellReco::InitRun(), and PHG4CylinderGeom_Spacalv3::load_demo_sector_tower_map4().

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_azimuthal_tilt ( ) const
inline

azimuthal tilt in rad

Definition at line 50 of file PHG4CylinderGeom_Spacalv2.h.

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

References azimuthal_tilt.

Referenced by PHG4CylinderGeom_Spacalv3::get_tower_radial_position().

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_block_depth ( ) const
inline

Definition at line 107 of file PHG4CylinderGeom_Spacalv2.h.

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

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

+ Here is the call graph for this function:

double PHG4CylinderGeom_Spacalv2::get_block_width ( ) const
inline

Definition at line 101 of file PHG4CylinderGeom_Spacalv2.h.

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

References get_sec_azimuthal_width().

Referenced by get_block_depth().

+ 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 120 of file PHG4CylinderGeom_Spacalv2.cc.

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

double PHG4CylinderGeom_Spacalv2::get_polar_taper_ratio ( ) const
inline

Definition at line 68 of file PHG4CylinderGeom_Spacalv2.h.

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

References polar_taper_ratio.

Referenced by get_block_depth().

+ 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 188 of file PHG4CylinderGeom_Spacalv2.cc.

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

double PHG4CylinderGeom_Spacalv2::get_reg_fiber_grid_distance_taper ( ) const

regulated fiber distance in the tapering direction

Definition at line 176 of file PHG4CylinderGeom_Spacalv2.cc.

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

double PHG4CylinderGeom_Spacalv2::get_sec_azimuthal_width ( ) const

Definition at line 105 of file PHG4CylinderGeom_Spacalv2.cc.

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

References pi, and twopi.

Referenced by get_block_width(), and get_sec_depth().

+ Here is the caller graph for this function:

double PHG4CylinderGeom_Spacalv2::get_sec_depth ( ) const
inline

Definition at line 85 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 85 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().

+ 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 32 of file PHG4CylinderGeom_Spacalv2.cc.

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

References G4TTL::layer, G4BECAL::radius, and thickness.

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 85 of file PHG4CylinderGeom_Spacalv2.cc.

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

References PHParameters::exist_double_param(), PHParameters::exist_int_param(), PHParameters::get_double_param(), PHParameters::get_int_param(), and PHG4CylinderGeom_Spacalv1::ImportParameters().

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 153 of file PHG4CylinderGeom_Spacalv2.cc.

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

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

Definition at line 46 of file PHG4CylinderGeom_Spacalv2.cc.

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

References 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 119 of file PHG4CylinderGeom_Spacalv2.h.

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

References assembly_spacing.

void PHG4CylinderGeom_Spacalv2::set_azimuthal_n_sec ( int  azimuthalNSec)
virtual

Definition at line 137 of file PHG4CylinderGeom_Spacalv2.cc.

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

References configureMap::config, and exit().

+ Here is the call graph for this function:

void PHG4CylinderGeom_Spacalv2::set_azimuthal_seg_visible ( bool  b = true)
virtual

Definition at line 159 of file PHG4CylinderGeom_Spacalv2.cc.

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

References configureMap::config, and exit().

+ Here is the call graph for this function:

void PHG4CylinderGeom_Spacalv2::set_azimuthal_tilt ( double  azimuthalTilt)
inline

azimuthal tilt in rad

Definition at line 57 of file PHG4CylinderGeom_Spacalv2.h.

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

References azimuthal_tilt.

void PHG4CylinderGeom_Spacalv2::set_polar_taper_ratio ( double  polarTaperRatio)
inline

Definition at line 74 of file PHG4CylinderGeom_Spacalv2.h.

View newest version in sPHENIX GitHub at line 74 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 70 of file PHG4CylinderGeom_Spacalv2.cc.

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

References PHG4CylinderGeom_Spacalv1::SetDefault().

Referenced by PHG4CylinderGeom_Spacalv3::SetDefault().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

int PHG4CylinderGeom_Spacalv2::azimuthal_n_sec
protected
bool PHG4CylinderGeom_Spacalv2::azimuthal_seg_visible
protected
double PHG4CylinderGeom_Spacalv2::azimuthal_tilt
protected

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