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

#include <geant4/tree/geant4-10.6-release/examples/extended/optical/LXe/include/LXeMainVolume.hh>

+ Inheritance diagram for LXeMainVolume:
+ Collaboration diagram for LXeMainVolume:

Public Member Functions

 LXeMainVolume (G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, LXeDetectorConstruction *c)
 
G4LogicalVolumeGetLogPhotoCath ()
 
G4LogicalVolumeGetLogScint ()
 
std::vector< G4ThreeVectorGetPmtPositions ()
 
- Public Member Functions inherited from G4PVPlacement
 G4PVPlacement (G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pCurrentLogical, const G4String &pName, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
 
 G4PVPlacement (const G4Transform3D &Transform3D, G4LogicalVolume *pCurrentLogical, const G4String &pName, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
 
 G4PVPlacement (G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
 
 G4PVPlacement (const G4Transform3D &Transform3D, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
 
virtual ~G4PVPlacement ()
 
G4int GetCopyNo () const
 
void SetCopyNo (G4int CopyNo)
 
G4bool CheckOverlaps (G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1)
 
 G4PVPlacement (__void__ &)
 
 G4PVPlacement (const G4PVPlacement &)=delete
 
G4PVPlacementoperator= (const G4PVPlacement &)=delete
 
G4bool IsMany () const
 
G4bool IsReplicated () const
 
G4bool IsParameterised () const
 
G4VPVParameterisationGetParameterisation () const
 
void GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
 
G4bool IsRegularStructure () const
 
G4int GetRegularStructureId () const
 
EVolume VolumeType () const
 
- Public Member Functions inherited from G4VPhysicalVolume
 G4VPhysicalVolume (G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother)
 
virtual ~G4VPhysicalVolume ()
 
 G4VPhysicalVolume (const G4VPhysicalVolume &)=delete
 
G4VPhysicalVolumeoperator= (const G4VPhysicalVolume &)=delete
 
G4bool operator== (const G4VPhysicalVolume &p) const
 
G4RotationMatrixGetObjectRotation () const
 
G4RotationMatrix GetObjectRotationValue () const
 
G4ThreeVector GetObjectTranslation () const
 
const G4RotationMatrixGetFrameRotation () const
 
G4ThreeVector GetFrameTranslation () const
 
const G4ThreeVector GetTranslation () const
 
const G4RotationMatrixGetRotation () const
 
void SetTranslation (const G4ThreeVector &v)
 
G4RotationMatrixGetRotation ()
 
void SetRotation (G4RotationMatrix *)
 
G4LogicalVolumeGetLogicalVolume () const
 
void SetLogicalVolume (G4LogicalVolume *pLogical)
 
G4LogicalVolumeGetMotherLogical () const
 
void SetMotherLogical (G4LogicalVolume *pMother)
 
const G4StringGetName () const
 
void SetName (const G4String &pName)
 
virtual G4int GetMultiplicity () const
 
 G4VPhysicalVolume (__void__ &)
 
G4int GetInstanceID () const
 
EVolume DeduceVolumeType () const
 

Private Member Functions

void VisAttributes ()
 
void SurfaceProperties ()
 
void PlacePMTs (G4LogicalVolume *pmt_Log, G4RotationMatrix *rot, G4double &a, G4double &b, G4double da, G4double db, G4double amin, G4double bmin, G4int na, G4int nb, G4double &x, G4double &y, G4double &z, G4int &k)
 
void CopyValues ()
 

Private Attributes

LXeDetectorConstructionfConstructor
 
G4double fScint_x
 
G4double fScint_y
 
G4double fScint_z
 
G4double fD_mtl
 
G4int fNx
 
G4int fNy
 
G4int fNz
 
G4double fOuterRadius_pmt
 
G4bool fSphereOn
 
G4double fRefl
 
G4BoxfScint_box
 
G4BoxfHousing_box
 
G4TubsfPmt
 
G4TubsfPhotocath
 
G4SpherefSphere
 
G4LogicalVolumefScint_log
 
G4LogicalVolumefHousing_log
 
G4LogicalVolumefPmt_log
 
G4LogicalVolumefPhotocath_log
 
G4LogicalVolumefSphere_log
 
std::vector< G4ThreeVectorfPmtPositions
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicalVolume
static const G4PVManagerGetSubInstanceManager ()
 
static void Clean ()
 
- Protected Member Functions inherited from G4VPhysicalVolume
void InitialiseWorker (G4VPhysicalVolume *pMasterObject, G4RotationMatrix *pRot, const G4ThreeVector &tlate)
 
void TerminateWorker (G4VPhysicalVolume *pMasterObject)
 
- Protected Attributes inherited from G4VPhysicalVolume
G4int instanceID
 
- Static Protected Attributes inherited from G4VPhysicalVolume
static G4GEOM_DLL G4PVManager subInstanceManager
 

Detailed Description

Definition at line 43 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 43 of file LXeMainVolume.hh

Constructor & Destructor Documentation

LXeMainVolume::LXeMainVolume ( G4RotationMatrix pRot,
const G4ThreeVector tlate,
G4LogicalVolume pMotherLogical,
G4bool  pMany,
G4int  pCopyNo,
LXeDetectorConstruction c 
)

Definition at line 42 of file LXeMainVolume.cc.

View newest version in sPHENIX GitHub at line 42 of file LXeMainVolume.cc

References cm, CopyValues(), deg, dx, dy, dz, fD_mtl, fHousing_box, fHousing_log, fNx, fNy, fNz, fOuterRadius_pmt, fPhotocath, fPhotocath_log, fPmt, fPmt_log, fScint_box, fScint_log, fScint_x, fScint_y, fScint_z, fSphere, fSphere_log, fSphereOn, G4PVPlacement::G4PVPlacement(), G4Material::GetMaterial(), k, mm, PlacePMTs(), CLHEP::HepRotation::rotateX(), CLHEP::HepRotation::rotateY(), G4VPhysicalVolume::SetLogicalVolume(), SurfaceProperties(), VisAttributes(), x, xmin, y, ymin, and z.

+ Here is the call graph for this function:

Member Function Documentation

void LXeMainVolume::CopyValues ( )
private

Definition at line 157 of file LXeMainVolume.cc.

View newest version in sPHENIX GitHub at line 157 of file LXeMainVolume.cc

References fConstructor, fD_mtl, fNx, fNy, fNz, fOuterRadius_pmt, fRefl, fScint_x, fScint_y, fScint_z, fSphereOn, LXeDetectorConstruction::GetHousingReflectivity(), LXeDetectorConstruction::GetHousingThickness(), LXeDetectorConstruction::GetNX(), LXeDetectorConstruction::GetNY(), LXeDetectorConstruction::GetNZ(), LXeDetectorConstruction::GetPMTRadius(), LXeDetectorConstruction::GetScintX(), LXeDetectorConstruction::GetScintY(), LXeDetectorConstruction::GetScintZ(), and LXeDetectorConstruction::GetSphereOn().

Referenced by LXeMainVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LogicalVolume* LXeMainVolume::GetLogPhotoCath ( )
inline

Definition at line 54 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 54 of file LXeMainVolume.hh

References fPhotocath_log.

Referenced by LXeDetectorConstruction::ConstructSDandField().

+ Here is the caller graph for this function:

G4LogicalVolume* LXeMainVolume::GetLogScint ( )
inline

Definition at line 55 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 55 of file LXeMainVolume.hh

References fScint_log.

Referenced by LXeDetectorConstruction::ConstructSDandField().

+ Here is the caller graph for this function:

std::vector<G4ThreeVector> LXeMainVolume::GetPmtPositions ( )
inline

Definition at line 57 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 57 of file LXeMainVolume.hh

References fPmtPositions.

Referenced by LXeDetectorConstruction::ConstructSDandField().

+ Here is the caller graph for this function:

void LXeMainVolume::PlacePMTs ( G4LogicalVolume pmt_Log,
G4RotationMatrix rot,
G4double a,
G4double b,
G4double  da,
G4double  db,
G4double  amin,
G4double  bmin,
G4int  na,
G4int  nb,
G4double x,
G4double y,
G4double z,
G4int k 
)
private

Definition at line 172 of file LXeMainVolume.cc.

View newest version in sPHENIX GitHub at line 172 of file LXeMainVolume.cc

References Acts::Test::db, fHousing_log, fPmtPositions, and G4PVPlacement::G4PVPlacement().

Referenced by LXeMainVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void LXeMainVolume::SurfaceProperties ( )
private

Definition at line 219 of file LXeMainVolume.cc.

View newest version in sPHENIX GitHub at line 219 of file LXeMainVolume.cc

References G4MaterialPropertiesTable::AddProperty(), dielectric_metal, eV, fHousing_log, fPhotocath_log, fRefl, fSphere_log, glisur, num, polished, G4OpticalSurface::SetMaterialPropertiesTable(), and unified.

Referenced by LXeMainVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void LXeMainVolume::VisAttributes ( )
private

Definition at line 208 of file LXeMainVolume.cc.

View newest version in sPHENIX GitHub at line 208 of file LXeMainVolume.cc

References fHousing_log, fSphere_log, G4VisAttributes::SetForceSolid(), and G4LogicalVolume::SetVisAttributes().

Referenced by LXeMainVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

LXeDetectorConstruction* LXeMainVolume::fConstructor
private

Definition at line 73 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 73 of file LXeMainVolume.hh

Referenced by CopyValues().

G4double LXeMainVolume::fD_mtl
private

Definition at line 78 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 78 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4Box* LXeMainVolume::fHousing_box
private

Definition at line 89 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 89 of file LXeMainVolume.hh

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fHousing_log
private

Definition at line 97 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 97 of file LXeMainVolume.hh

Referenced by LXeMainVolume(), PlacePMTs(), SurfaceProperties(), and VisAttributes().

G4int LXeMainVolume::fNx
private

Definition at line 79 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 79 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4int LXeMainVolume::fNy
private

Definition at line 80 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 80 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4int LXeMainVolume::fNz
private

Definition at line 81 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 81 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4double LXeMainVolume::fOuterRadius_pmt
private

Definition at line 82 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 82 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4Tubs* LXeMainVolume::fPhotocath
private

Definition at line 91 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 91 of file LXeMainVolume.hh

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fPhotocath_log
private

Definition at line 99 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 99 of file LXeMainVolume.hh

Referenced by GetLogPhotoCath(), LXeMainVolume(), and SurfaceProperties().

G4Tubs* LXeMainVolume::fPmt
private

Definition at line 90 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 90 of file LXeMainVolume.hh

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fPmt_log
private

Definition at line 98 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 98 of file LXeMainVolume.hh

Referenced by LXeMainVolume().

std::vector<G4ThreeVector> LXeMainVolume::fPmtPositions
private

Definition at line 103 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 103 of file LXeMainVolume.hh

Referenced by GetPmtPositions(), and PlacePMTs().

G4double LXeMainVolume::fRefl
private

Definition at line 84 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 84 of file LXeMainVolume.hh

Referenced by CopyValues(), and SurfaceProperties().

G4Box* LXeMainVolume::fScint_box
private

Definition at line 88 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 88 of file LXeMainVolume.hh

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fScint_log
private

Definition at line 96 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 96 of file LXeMainVolume.hh

Referenced by GetLogScint(), and LXeMainVolume().

G4double LXeMainVolume::fScint_x
private

Definition at line 75 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 75 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4double LXeMainVolume::fScint_y
private

Definition at line 76 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 76 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4double LXeMainVolume::fScint_z
private

Definition at line 77 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 77 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().

G4Sphere* LXeMainVolume::fSphere
private

Definition at line 92 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 92 of file LXeMainVolume.hh

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fSphere_log
private

Definition at line 100 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 100 of file LXeMainVolume.hh

Referenced by LXeMainVolume(), SurfaceProperties(), and VisAttributes().

G4bool LXeMainVolume::fSphereOn
private

Definition at line 83 of file LXeMainVolume.hh.

View newest version in sPHENIX GitHub at line 83 of file LXeMainVolume.hh

Referenced by CopyValues(), and LXeMainVolume().


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