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

#include <fun4all_eicdetectors/blob/master/simulation/g4simulation/g4mrich/PHG4mRICHDetector.h>

+ Inheritance diagram for PHG4mRICHDetector:
+ Collaboration diagram for PHG4mRICHDetector:

Classes

class  BoxPar
 
class  LensPar
 
class  mRichParameter
 
class  PolyPar
 

Public Types

enum  { SENSOR = 1, AEROGEL = 0, INACTIVE = -100 }
 
enum  DetectorSetUp {
  kSingle_Modular = -1, kHSector_EWall = 0, kHSector = 1, kEWall = 2,
  kHWall = 3, kHWall_EWall = 4, kHWall_Barrel = 5, kEWall_proj = 6,
  kESph = 7
}
 

Public Member Functions

 PHG4mRICHDetector (PHG4Subsystem *subsys, PHCompositeNode *Node, PHParameters *parameters, const std::string &dnam, const int lyr=0)
 constructor
 
virtual ~PHG4mRICHDetector ()
 destructor
 
virtual void ConstructMe (G4LogicalVolume *world)
 construct
 
int IsInmRICH (G4VPhysicalVolume *) const
 
void SetActive (const int i=1)
 
void SetAbsorberActive (const int i=1)
 
void SuperDetector (const std::string &name)
 
const std::string SuperDetector () const
 
int get_Layer () const
 
- 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 G4UserSteppingActionGetSteppingAction ()
 
virtual std::string GetName () const
 
virtual void OverlapCheck (const bool chk)
 
virtual bool OverlapCheck () const
 
virtual void Print (const std::string &="ALL") 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 ()
 

Private Member Functions

G4VPhysicalVolumebuild_box (BoxPar *par, G4LogicalVolume *motherLV)
 
G4VPhysicalVolumebuild_polyhedra (PolyPar *par, G4LogicalVolume *motherLV)
 
G4LogicalVolumeConstruct_a_mRICH (G4LogicalVolume *logicWorld)
 
G4VPhysicalVolumebuild_holderBox (mRichParameter *detectorParameter, G4LogicalVolume *motherLV)
 
void build_foamHolder (mRichParameter *detectorParameter, G4LogicalVolume *motherLV)
 
void build_aerogel (mRichParameter *detectorParameter, G4VPhysicalVolume *motherPV)
 
void build_lens (LensPar *par, G4LogicalVolume *motherLV)
 
void build_mirror (mRichParameter *detectorParameter, G4VPhysicalVolume *motherPV)
 
void build_sensor (mRichParameter *detectorParameter, G4LogicalVolume *motherLV)
 
void build_mRICH_wall_hside (G4LogicalVolume *space)
 
void build_mRICH_wall_eside (G4LogicalVolume *space)
 
void build_mRICH_sector (G4LogicalVolume *logicWorld, int numSector)
 
void build_mRICH_sector2 (G4LogicalVolume *logicWorld, int numSector)
 
void build_mRICH_wall_eside_proj (G4LogicalVolume *space)
 

Private Attributes

PHParametersparams
 
int layer
 
int active
 
int absorberactive
 
std::string superdetector
 
G4VPhysicalVolumemRICH_PV
 
G4VPhysicalVolumesensor_PV [4]
 
std::map< const
G4VPhysicalVolume *, int
sensor_vol
 
std::map< const
G4VPhysicalVolume *, int
aerogel_vol
 

Additional Inherited Members

- Static Public Member Functions inherited from PHG4Detector
static G4MaterialGetDetectorMaterial (const std::string &name, const bool quit=true)
 
static G4ElementGetDetectorElement (const std::string &name, const bool quit=true)
 

Detailed Description

Definition at line 27 of file PHG4mRICHDetector.h.

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

Member Enumeration Documentation

anonymous enum
Enumerator:
SENSOR 
AEROGEL 
INACTIVE 

Definition at line 60 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 60 of file PHG4mRICHDetector.h

Enumerator:
kSingle_Modular 
kHSector_EWall 
kHSector 
kEWall 
kHWall 
kHWall_EWall 
kHWall_Barrel 
kEWall_proj 
kESph 

Definition at line 67 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 67 of file PHG4mRICHDetector.h

Constructor & Destructor Documentation

PHG4mRICHDetector::PHG4mRICHDetector ( PHG4Subsystem subsys,
PHCompositeNode Node,
PHParameters parameters,
const std::string &  dnam,
const int  lyr = 0 
)

constructor

Definition at line 59 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 59 of file PHG4mRICHDetector.cc

virtual PHG4mRICHDetector::~PHG4mRICHDetector ( )
inlinevirtual

destructor

Definition at line 34 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 34 of file PHG4mRICHDetector.h

Member Function Documentation

void PHG4mRICHDetector::build_aerogel ( mRichParameter detectorParameter,
G4VPhysicalVolume motherPV 
)
private

Definition at line 664 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 664 of file PHG4mRICHDetector.cc

References G4MaterialPropertiesTable::AddProperty(), aerogel_vol, build_box(), dielectric_dielectric, eV, PHG4mRICHDetector::mRichParameter::GetBoxPar(), G4VPhysicalVolume::GetLogicalVolume(), ground, num, G4OpticalSurface::SetFinish(), G4OpticalSurface::SetMaterialPropertiesTable(), G4OpticalSurface::SetModel(), G4OpticalSurface::SetType(), and unified.

+ Here is the call graph for this function:

G4VPhysicalVolume * PHG4mRICHDetector::build_box ( BoxPar par,
G4LogicalVolume motherLV 
)
private

Definition at line 613 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 613 of file PHG4mRICHDetector.cc

References PHG4mRICHDetector::BoxPar::color, PHG4mRICHDetector::BoxPar::halfXYZ, PHG4mRICHDetector::BoxPar::material, PHG4mRICHDetector::BoxPar::name, PHG4Detector::OverlapCheck(), PHG4mRICHDetector::BoxPar::pos, PHG4mRICHDetector::BoxPar::surface, PHG4mRICHDetector::BoxPar::visibility, and PHG4mRICHDetector::BoxPar::wireframe.

Referenced by build_aerogel(), build_foamHolder(), build_holderBox(), and build_sensor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4mRICHDetector::build_foamHolder ( mRichParameter detectorParameter,
G4LogicalVolume motherLV 
)
private

Definition at line 650 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 650 of file PHG4mRICHDetector.cc

References build_box(), build_polyhedra(), PHG4mRICHDetector::mRichParameter::GetBoxPar(), PHG4mRICHDetector::mRichParameter::GetPolyPar(), PHG4Detector::Verbosity(), and Fun4AllBase::VERBOSITY_MORE.

+ Here is the call graph for this function:

G4VPhysicalVolume * PHG4mRICHDetector::build_holderBox ( mRichParameter detectorParameter,
G4LogicalVolume motherLV 
)
private

Definition at line 644 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 644 of file PHG4mRICHDetector.cc

References build_box(), PHG4mRICHDetector::mRichParameter::GetBoxPar(), G4VPhysicalVolume::GetLogicalVolume(), and mRICH_PV.

+ Here is the call graph for this function:

void PHG4mRICHDetector::build_mirror ( mRichParameter detectorParameter,
G4VPhysicalVolume motherPV 
)
private

Definition at line 691 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 691 of file PHG4mRICHDetector.cc

References G4MaterialPropertiesTable::AddProperty(), build_polyhedra(), source.hepunit::c_light, dielectric_dielectric, G4VPhysicalVolume::GetLogicalVolume(), PHG4mRICHDetector::mRichParameter::GetPolyPar(), source.hepunit::h_Planck, nm, polishedfrontpainted, and unified.

+ Here is the call graph for this function:

void PHG4mRICHDetector::build_mRICH_sector ( G4LogicalVolume logicWorld,
int  numSector 
)
private

Definition at line 941 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 941 of file PHG4mRICHDetector.cc

References G4AssemblyVolume::AddPlacedVolume(), Construct_a_mRICH(), deg, PHParameters::get_double_param(), PHParameters::get_int_param(), G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), params, pi, pos(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateZ(), theta(), x, y, and z.

+ Here is the call graph for this function:

void PHG4mRICHDetector::build_mRICH_sector2 ( G4LogicalVolume logicWorld,
int  numSector 
)
private

Definition at line 996 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 996 of file PHG4mRICHDetector.cc

References G4AssemblyVolume::AddPlacedVolume(), Construct_a_mRICH(), deg, PHParameters::get_int_param(), G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), params, pos(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateZ(), PHG4Detector::Verbosity(), Fun4AllBase::VERBOSITY_A_LOT, x, y, z, and zz.

+ Here is the call graph for this function:

void PHG4mRICHDetector::build_mRICH_wall_eside ( G4LogicalVolume space)
private

Definition at line 896 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 896 of file PHG4mRICHDetector.cc

References G4AssemblyVolume::AddPlacedVolume(), Construct_a_mRICH(), deg, PHParameters::get_double_param(), PHParameters::get_int_param(), G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), params, pos(), CLHEP::HepRotation::rotateX(), PHG4Detector::Verbosity(), Fun4AllBase::VERBOSITY_MORE, x, y, and z.

+ Here is the call graph for this function:

void PHG4mRICHDetector::build_mRICH_wall_eside_proj ( G4LogicalVolume space)
private

Definition at line 1069 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 1069 of file PHG4mRICHDetector.cc

References kdfinder::abs(), G4AssemblyVolume::AddPlacedVolume(), Construct_a_mRICH(), deg, PHParameters::get_double_param(), PHParameters::get_int_param(), G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), params, pos(), rad, CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), scale, PHG4Detector::Verbosity(), Fun4AllBase::VERBOSITY_MORE, x, y, and z.

+ Here is the call graph for this function:

void PHG4mRICHDetector::build_mRICH_wall_hside ( G4LogicalVolume space)
private

Definition at line 840 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 840 of file PHG4mRICHDetector.cc

References G4AssemblyVolume::AddPlacedVolume(), Construct_a_mRICH(), deg, PHParameters::get_double_param(), PHParameters::get_int_param(), G4AssemblyVolume::MakeImprint(), PHG4Detector::OverlapCheck(), params, phi, pi, pos(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), theta(), x, y, and z.

+ Here is the call graph for this function:

G4VPhysicalVolume * PHG4mRICHDetector::build_polyhedra ( PolyPar par,
G4LogicalVolume motherLV 
)
private

Definition at line 628 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 628 of file PHG4mRICHDetector.cc

References PHG4mRICHDetector::PolyPar::color, PHG4mRICHDetector::PolyPar::material, PHG4mRICHDetector::PolyPar::name, PHG4mRICHDetector::PolyPar::num_zLayer, PHG4mRICHDetector::PolyPar::numSide, PHG4Detector::OverlapCheck(), PHG4mRICHDetector::PolyPar::pos, PHG4mRICHDetector::PolyPar::rinner, PHG4mRICHDetector::PolyPar::router, PHG4mRICHDetector::PolyPar::start, PHG4mRICHDetector::PolyPar::surface, PHG4mRICHDetector::PolyPar::theta, PHG4mRICHDetector::PolyPar::visibility, PHG4mRICHDetector::PolyPar::wireframe, and PHG4mRICHDetector::PolyPar::z.

Referenced by build_foamHolder(), and build_mirror().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHG4mRICHDetector::build_sensor ( mRichParameter detectorParameter,
G4LogicalVolume motherLV 
)
private

Definition at line 718 of file PHG4mRICHDetector.cc.

View newest version in sPHENIX GitHub at line 718 of file PHG4mRICHDetector.cc

References build_box(), PHG4mRICHDetector::mRichParameter::GetBoxPar(), CLHEP::Hep3Vector::getX(), PHG4mRICHDetector::BoxPar::pos, sensor_PV, sensor_vol, PHG4mRICHDetector::mRichParameter::SetPar_glassWindow(), PHG4mRICHDetector::mRichParameter::SetPar_sensor(), x, and y.

+ Here is the call graph for this function:

G4LogicalVolume* PHG4mRICHDetector::Construct_a_mRICH ( G4LogicalVolume logicWorld)
private

Referenced by build_mRICH_sector(), build_mRICH_sector2(), build_mRICH_wall_eside(), build_mRICH_wall_eside_proj(), and build_mRICH_wall_hside().

+ Here is the caller graph for this function:

virtual void PHG4mRICHDetector::ConstructMe ( G4LogicalVolume world)
virtual

construct

Implements PHG4Detector.

int PHG4mRICHDetector::get_Layer ( ) const
inline

Definition at line 58 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 58 of file PHG4mRICHDetector.h

References layer.

int PHG4mRICHDetector::IsInmRICH ( G4VPhysicalVolume ) const

Referenced by PHG4mRICHSteppingAction::UserSteppingAction().

+ Here is the caller graph for this function:

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

Definition at line 51 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 51 of file PHG4mRICHDetector.h

References absorberactive.

Referenced by PHG4mRICHSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 46 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 46 of file PHG4mRICHDetector.h

References active.

Referenced by PHG4mRICHSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 56 of file PHG4mRICHDetector.h.

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

References superdetector.

Referenced by PHG4mRICHSubsystem::InitRunSubsystem().

+ Here is the caller graph for this function:

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

Definition at line 57 of file PHG4mRICHDetector.h.

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

References superdetector.

Member Data Documentation

int PHG4mRICHDetector::absorberactive
private

Definition at line 107 of file PHG4mRICHDetector.h.

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

Referenced by SetAbsorberActive().

int PHG4mRICHDetector::active
private

Definition at line 106 of file PHG4mRICHDetector.h.

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

Referenced by SetActive().

std::map<const G4VPhysicalVolume*, int> PHG4mRICHDetector::aerogel_vol
private

Definition at line 114 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 114 of file PHG4mRICHDetector.h

Referenced by build_aerogel().

int PHG4mRICHDetector::layer
private

Definition at line 105 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 105 of file PHG4mRICHDetector.h

Referenced by get_Layer().

G4VPhysicalVolume* PHG4mRICHDetector::mRICH_PV
private

Definition at line 110 of file PHG4mRICHDetector.h.

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

Referenced by build_holderBox().

PHParameters* PHG4mRICHDetector::params
private

Definition at line 84 of file PHG4mRICHDetector.h.

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

Referenced by build_mRICH_sector(), build_mRICH_sector2(), build_mRICH_wall_eside(), build_mRICH_wall_eside_proj(), and build_mRICH_wall_hside().

G4VPhysicalVolume* PHG4mRICHDetector::sensor_PV[4]
private

Definition at line 111 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 111 of file PHG4mRICHDetector.h

Referenced by build_sensor().

std::map<const G4VPhysicalVolume*, int> PHG4mRICHDetector::sensor_vol
private

Definition at line 113 of file PHG4mRICHDetector.h.

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

Referenced by build_sensor().

std::string PHG4mRICHDetector::superdetector
private

Definition at line 109 of file PHG4mRICHDetector.h.

View newest version in sPHENIX GitHub at line 109 of file PHG4mRICHDetector.h

Referenced by SuperDetector().


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