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

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4detectors/PHG4SpacalDetector.h>

+ Inheritance diagram for PHG4SpacalDetector:
+ Collaboration diagram for PHG4SpacalDetector:

Public Types

enum  {
  FIBER_CORE = 1, FIBER_CLADING = 0, ABSORBER = -1, SUPPORT = -2,
  INACTIVE = -100
}
 
typedef PHG4CylinderGeom_Spacalv1 SpacalGeom_t
 

Public Member Functions

 PHG4SpacalDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, const std::string &dnam, PHParameters *parameters, const int layer=0, bool init_geom=true)
 
 ~PHG4SpacalDetector (void) override
 
void ConstructMe (G4LogicalVolume *world) override
 
virtual std::pair
< G4LogicalVolume
*, G4Transform3D > 
Construct_AzimuthalSeg ()
 
virtual G4LogicalVolume * Construct_Fiber (const G4double length, const std::string &id)
 
void SetActive (const int i=1)
 
void SetAbsorberActive (const int i=1)
 
void SetDetectorType (const std::string &typ)
 
int IsInCylinderActive (const G4VPhysicalVolume *)
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
int get_Layer () const
 
void Print (const std::string &what="ALL") const override
 
const SpacalGeom_tget_geom () const
 
virtual PHG4CylinderGeomclone_geom () const
 
PHG4SpacalDisplayActionGetDisplayAction ()
 
void CosmicSetup (const int i)
 
int CosmicSetup ()
 
- Public Member Functions inherited from PHG4Detector
 PHG4Detector ()=delete
 constructor
 
 PHG4Detector (PHG4Subsystem *subsys, PHCompositeNode *Node, const std::string &nam)
 
virtual ~PHG4Detector (void)
 destructor
 
virtual void Construct (G4LogicalVolume *world) final
 construct method
 
virtual void PostConstruction ()
 Optional PostConstruction call after all geometry is constructed.
 
virtual void Verbosity (const int v)
 
virtual int Verbosity () const
 
virtual G4UserSteppingAction * GetSteppingAction ()
 
virtual std::string GetName () const
 
virtual void OverlapCheck (const bool chk)
 
virtual bool OverlapCheck () const
 
virtual int DisplayVolume (G4VSolid *volume, G4LogicalVolume *logvol, G4RotationMatrix *rotm=nullptr)
 
virtual int DisplayVolume (G4LogicalVolume *checksolid, G4LogicalVolume *logvol, G4RotationMatrix *rotm=nullptr)
 
virtual PHCompositeNodetopNode ()
 
virtual PHG4SubsystemGetMySubsystem ()
 

Protected Attributes

std::map< const
G4VPhysicalVolume *, int > 
fiber_core_vol
 
std::map< const
G4VPhysicalVolume *, int > 
fiber_vol
 map for G4VPhysicalVolume -> fiber ID
 
std::map< const
G4VPhysicalVolume *, int > 
calo_vol
 map for G4VPhysicalVolume -> Sector ID
 
std::map< const
G4VPhysicalVolume *, int > 
block_vol
 map for G4VPhysicalVolume -> towers ID
 
int active = 0
 
int absorberactive = 0
 
int layer = -9999
 
int m_CosmicSetupFlag = 0
 
std::string detector_type
 
std::string superdetector
 
G4UserLimits * fiber_core_step_limits = nullptr
 
PHG4GDMLConfiggdml_config = nullptr
 registry for volumes that should not be exported, i.e. fibers
 
SpacalGeom_t_geom = nullptr
 

Private Attributes

PHG4SpacalDisplayActionm_DisplayAction = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from PHG4Detector
static G4Material * GetDetectorMaterial (const std::string &name, const bool quit=true)
 
static G4Element * GetDetectorElement (const std::string &name, const bool quit=true)
 

Detailed Description

Definition at line 36 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 36 of file PHG4SpacalDetector.h

Member Typedef Documentation

Definition at line 39 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 39 of file PHG4SpacalDetector.h

Member Enumeration Documentation

anonymous enum
Enumerator:
FIBER_CORE 
FIBER_CLADING 
ABSORBER 
SUPPORT 
INACTIVE 

Definition at line 106 of file PHG4SpacalDetector.h.

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

Constructor & Destructor Documentation

PHG4SpacalDetector::PHG4SpacalDetector ( PHG4Subsystem subsys,
PHCompositeNode Node,
const std::string &  dnam,
PHParameters parameters,
const int  layer = 0,
bool  init_geom = true 
)

Definition at line 51 of file PHG4SpacalDetector.cc.

View newest version in sPHENIX GitHub at line 51 of file PHG4SpacalDetector.cc

References _geom, exit(), gdml_config, PHG4GDMLUtility::GetOrMakeConfigNode(), and PHG4CylinderGeom_Spacalv1::ImportParameters().

+ Here is the call graph for this function:

PHG4SpacalDetector::~PHG4SpacalDetector ( void  )
override

Definition at line 80 of file PHG4SpacalDetector.cc.

View newest version in sPHENIX GitHub at line 80 of file PHG4SpacalDetector.cc

References _geom, and fiber_core_step_limits.

Member Function Documentation

virtual PHG4CylinderGeom* PHG4SpacalDetector::clone_geom ( ) const
inlinevirtual

Reimplemented in PHG4FullProjTiltedSpacalDetector, and PHG4FullProjSpacalDetector.

Definition at line 101 of file PHG4SpacalDetector.h.

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

References _geom.

Referenced by ConstructMe().

+ Here is the caller graph for this function:

std::pair< G4LogicalVolume *, G4Transform3D > PHG4SpacalDetector::Construct_AzimuthalSeg ( )
virtual

Reimplemented in PHG4FullProjSpacalDetector, and PHG4FullProjTiltedSpacalDetector.

Definition at line 273 of file PHG4SpacalDetector.cc.

View newest version in sPHENIX GitHub at line 273 of file PHG4SpacalDetector.cc

References _geom, PHG4SpacalDisplayAction::AddVolume(), Acts::UnitConstants::cm, Construct_Fiber(), PHG4GDMLConfig::exclude_physical_vol(), fiber_vol, gdml_config, PHG4CylinderGeom_Spacalv1::get_absorber_mat(), PHG4CylinderGeom_Spacalv1::get_azimuthal_distance(), PHG4CylinderGeom_Spacalv1::get_azimuthal_n_sec(), PHG4CylinderGeom_Spacalv1::get_fiber_distance(), PHG4CylinderGeom_Spacalv1::get_fiber_outer_r(), PHG4CylinderGeom_Spacalv1::get_half_radius(), PHG4CylinderGeom_Spacalv1::get_length(), PHG4CylinderGeom_Spacalv1::get_max_radius(), PHG4CylinderGeomv1::get_radius(), PHG4CylinderGeomv1::get_thickness(), PHG4CylinderGeom_Spacalv1::get_z_distance(), PHG4CylinderGeom::get_zmax(), PHG4CylinderGeomv1::get_zmin(), PHG4CylinderGeom_Spacalv1::get_zpos(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), PHG4Detector::GetName(), PHG4CylinderGeom_Spacalv1::is_virualize_fiber(), name, PHG4Detector::OverlapCheck(), PHG4CylinderGeomv2::set_nscint(), twopi, PHG4Detector::Verbosity(), and z.

Referenced by ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume * PHG4SpacalDetector::Construct_Fiber ( const G4double  length,
const std::string &  id 
)
virtual
void PHG4SpacalDetector::ConstructMe ( G4LogicalVolume *  world)
overridevirtual

Implements PHG4Detector.

Definition at line 118 of file PHG4SpacalDetector.cc.

View newest version in sPHENIX GitHub at line 118 of file PHG4SpacalDetector.cc

References _geom, absorberactive, active, PHG4CylinderGeomContainer::AddLayerGeom(), PHCompositeNode::addNode(), PHG4SpacalDisplayAction::AddVolume(), calo_vol, clone_geom(), Acts::UnitConstants::cm, Construct_AzimuthalSeg(), detector_type, PHG4GDMLConfig::exclude_physical_vol(), fiber_core_step_limits, PHNodeIterator::findFirst(), gdml_config, PHG4CylinderGeom_Spacalv1::get_construction_verbose(), PHG4CylinderGeom_Spacalv1::get_fiber_core_step_size(), PHG4CylinderGeom_Spacalv1::get_length(), PHG4CylinderGeom_Spacalv1::get_max_radius(), PHG4CylinderGeomv2::get_nscint(), PHG4CylinderGeomv1::get_radius(), PHG4CylinderGeom_Spacalv1::get_sector_map(), PHG4CylinderGeom_Spacalv1::get_xpos(), PHG4CylinderGeom_Spacalv1::get_ypos(), PHG4CylinderGeomv1::get_zmax(), PHG4CylinderGeomv1::get_zmin(), PHG4CylinderGeom_Spacalv1::get_zpos(), PHG4Detector::GetDetectorMaterial(), GetDisplayAction(), PHG4Detector::GetName(), PHG4CylinderGeom_Spacalv1::init_default_sector_map(), recoConsts::instance(), layer, m_CosmicSetupFlag, name, PHG4Detector::OverlapCheck(), PHG4CylinderGeom_Spacalv1::Print(), Print(), PHG4CylinderGeomv2::set_nscint(), superdetector, PHG4Detector::topNode(), twopi, and PHG4Detector::Verbosity().

Referenced by PHG4FullProjTiltedSpacalDetector::ConstructMe(), and PHG4FullProjSpacalDetector::ConstructMe().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4SpacalDetector::CosmicSetup ( const int  i)
inline

Definition at line 117 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 117 of file PHG4SpacalDetector.h

References m_CosmicSetupFlag.

Referenced by PHG4SpacalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

int PHG4SpacalDetector::CosmicSetup ( )
inline

Definition at line 118 of file PHG4SpacalDetector.h.

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

References m_CosmicSetupFlag.

const SpacalGeom_t* PHG4SpacalDetector::get_geom ( ) const
inline

Definition at line 96 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 96 of file PHG4SpacalDetector.h

References _geom.

Referenced by PHG4SpacalSteppingAction::get_zmax(), PHG4SpacalSteppingAction::get_zmin(), PHG4SpacalSubsystem::InitRunSubsystem(), and PHG4SpacalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

int PHG4SpacalDetector::get_Layer ( ) const
inline

Definition at line 87 of file PHG4SpacalDetector.h.

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

References layer.

Referenced by PHG4SpacalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

PHG4SpacalDisplayAction* PHG4SpacalDetector::GetDisplayAction ( )
inline

Definition at line 115 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 115 of file PHG4SpacalDetector.h

References m_DisplayAction.

Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), Construct_AzimuthalSeg(), Construct_Fiber(), PHG4FullProjTiltedSpacalDetector::Construct_LightGuide(), PHG4FullProjTiltedSpacalDetector::Construct_Tower(), PHG4FullProjSpacalDetector::Construct_Tower(), and ConstructMe().

+ Here is the caller graph for this function:

int PHG4SpacalDetector::IsInCylinderActive ( const G4VPhysicalVolume *  volume)

Definition at line 89 of file PHG4SpacalDetector.cc.

View newest version in sPHENIX GitHub at line 89 of file PHG4SpacalDetector.cc

References ABSORBER, absorberactive, active, block_vol, calo_vol, FIBER_CLADING, FIBER_CORE, fiber_core_vol, fiber_vol, INACTIVE, and SUPPORT.

Referenced by PHG4SpacalSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

void PHG4SpacalDetector::Print ( const std::string &  what = "ALL") const
overridevirtual

Reimplemented from PHG4Detector.

Definition at line 381 of file PHG4SpacalDetector.cc.

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

References _geom, PHG4Detector::GetName(), and PHG4CylinderGeom_Spacalv1::Print().

Referenced by ConstructMe(), and PHG4SpacalSubsystem::Print().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4SpacalDetector::SetAbsorberActive ( const int  i = 1)
inline

Definition at line 62 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 62 of file PHG4SpacalDetector.h

References absorberactive.

Referenced by PHG4SpacalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

void PHG4SpacalDetector::SetActive ( const int  i = 1)
inline

Definition at line 56 of file PHG4SpacalDetector.h.

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

References active.

Referenced by PHG4SpacalSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

void PHG4SpacalDetector::SetDetectorType ( const std::string &  typ)
inline

Definition at line 68 of file PHG4SpacalDetector.h.

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

References detector_type.

void PHG4SpacalDetector::SuperDetector ( const std::string &  name)
inline

Definition at line 76 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 76 of file PHG4SpacalDetector.h

References name, and superdetector.

Referenced by PHG4SpacalSubsystem::InitRunSubsystem(), and PHG4SpacalSteppingAction::SetInterfacePointers().

+ Here is the caller graph for this function:

const std::string PHG4SpacalDetector::SuperDetector ( ) const
inline

Definition at line 82 of file PHG4SpacalDetector.h.

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

References superdetector.

Member Data Documentation

int PHG4SpacalDetector::absorberactive = 0
protected

Definition at line 136 of file PHG4SpacalDetector.h.

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

Referenced by ConstructMe(), IsInCylinderActive(), and SetAbsorberActive().

int PHG4SpacalDetector::active = 0
protected

Definition at line 135 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 135 of file PHG4SpacalDetector.h

Referenced by ConstructMe(), IsInCylinderActive(), and SetActive().

std::map<const G4VPhysicalVolume*, int> PHG4SpacalDetector::block_vol
protected

map for G4VPhysicalVolume -> towers ID

Definition at line 133 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 133 of file PHG4SpacalDetector.h

Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), and IsInCylinderActive().

std::map<const G4VPhysicalVolume*, int> PHG4SpacalDetector::calo_vol
protected

map for G4VPhysicalVolume -> Sector ID

Definition at line 130 of file PHG4SpacalDetector.h.

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

Referenced by PHG4FullProjTiltedSpacalDetector::Construct_AzimuthalSeg(), PHG4FullProjSpacalDetector::Construct_AzimuthalSeg(), ConstructMe(), and IsInCylinderActive().

std::string PHG4SpacalDetector::detector_type
protected

Definition at line 139 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 139 of file PHG4SpacalDetector.h

Referenced by ConstructMe(), and SetDetectorType().

G4UserLimits* PHG4SpacalDetector::fiber_core_step_limits = nullptr
protected

Definition at line 144 of file PHG4SpacalDetector.h.

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

Referenced by Construct_Fiber(), ConstructMe(), and ~PHG4SpacalDetector().

std::map<const G4VPhysicalVolume*, int> PHG4SpacalDetector::fiber_core_vol
protected

Definition at line 124 of file PHG4SpacalDetector.h.

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

Referenced by Construct_Fiber(), and IsInCylinderActive().

std::map<const G4VPhysicalVolume*, int> PHG4SpacalDetector::fiber_vol
protected
int PHG4SpacalDetector::layer = -9999
protected

Definition at line 137 of file PHG4SpacalDetector.h.

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

Referenced by ConstructMe(), and get_Layer().

int PHG4SpacalDetector::m_CosmicSetupFlag = 0
protected

Definition at line 138 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 138 of file PHG4SpacalDetector.h

Referenced by ConstructMe(), and CosmicSetup().

PHG4SpacalDisplayAction* PHG4SpacalDetector::m_DisplayAction = nullptr
private

Definition at line 121 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 121 of file PHG4SpacalDetector.h

Referenced by GetDisplayAction().

std::string PHG4SpacalDetector::superdetector
protected

Definition at line 140 of file PHG4SpacalDetector.h.

View newest version in sPHENIX GitHub at line 140 of file PHG4SpacalDetector.h

Referenced by ConstructMe(), and SuperDetector().


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