Geant4  10.03
LXeMainVolume Class Reference

#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)
 
G4LogicalVolume * GetLogPhotoCath ()
 
G4LogicalVolume * GetLogScint ()
 
std::vector< G4ThreeVector > GetPmtPositions ()
 
- 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__ &)
 
G4bool IsMany () const
 
G4bool IsReplicated () const
 
G4bool IsParameterised () const
 
G4VPVParameterisation * GetParameterisation () const
 
void GetReplicationData (EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
 
G4bool IsRegularStructure () const
 
G4int GetRegularStructureId () const
 
- Public Member Functions inherited from G4VPhysicalVolume
 G4VPhysicalVolume (G4RotationMatrix *pRot, const G4ThreeVector &tlate, const G4String &pName, G4LogicalVolume *pLogical, G4VPhysicalVolume *pMother)
 
virtual ~G4VPhysicalVolume ()
 
G4bool operator== (const G4VPhysicalVolume &p) const
 
G4RotationMatrix * GetObjectRotation () const
 
G4RotationMatrix GetObjectRotationValue () const
 
G4ThreeVector GetObjectTranslation () const
 
const G4RotationMatrix * GetFrameRotation () const
 
G4ThreeVector GetFrameTranslation () const
 
const G4ThreeVector & GetTranslation () const
 
const G4RotationMatrix * GetRotation () const
 
void SetTranslation (const G4ThreeVector &v)
 
G4RotationMatrix * GetRotation ()
 
void SetRotation (G4RotationMatrix *)
 
G4LogicalVolume * GetLogicalVolume () const
 
void SetLogicalVolume (G4LogicalVolume *pLogical)
 
G4LogicalVolume * GetMotherLogical () const
 
void SetMotherLogical (G4LogicalVolume *pMother)
 
const G4String & GetName () const
 
void SetName (const G4String &pName)
 
EVolume VolumeType () const
 
virtual G4int GetMultiplicity () const
 
 G4VPhysicalVolume (__void__ &)
 
G4int GetInstanceID () 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

LXeDetectorConstruction * fConstructor
 
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
 
G4Box * fScint_box
 
G4Box * fHousing_box
 
G4Tubs * fPmt
 
G4Tubs * fPhotocath
 
G4Sphere * fSphere
 
G4LogicalVolume * fScint_log
 
G4LogicalVolume * fHousing_log
 
G4LogicalVolume * fPmt_log
 
G4LogicalVolume * fPhotocath_log
 
G4LogicalVolume * fSphere_log
 
std::vector< G4ThreeVector > fPmtPositions
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicalVolume
static const G4PVManager & GetSubInstanceManager ()
 
- 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 44 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 43 of file LXeMainVolume.cc.

References cm, CopyValues(), deg, 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(), mm, PlacePMTs(), G4VPhysicalVolume::SetLogicalVolume(), SurfaceProperties(), and VisAttributes().

+ Here is the call graph for this function:

Member Function Documentation

void LXeMainVolume::CopyValues ( )
private

Definition at line 158 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 55 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 56 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 58 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 173 of file LXeMainVolume.cc.

References 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 220 of file LXeMainVolume.cc.

References G4MaterialPropertiesTable::AddProperty(), dielectric_metal, eV, fHousing_log, fPhotocath_log, fRefl, fSphere_log, glisur, 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 209 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 74 of file LXeMainVolume.hh.

Referenced by CopyValues().

G4double LXeMainVolume::fD_mtl
private

Definition at line 79 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4Box* LXeMainVolume::fHousing_box
private

Definition at line 90 of file LXeMainVolume.hh.

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fHousing_log
private

Definition at line 98 of file LXeMainVolume.hh.

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

G4int LXeMainVolume::fNx
private

Definition at line 80 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4int LXeMainVolume::fNy
private

Definition at line 81 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4int LXeMainVolume::fNz
private

Definition at line 82 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4double LXeMainVolume::fOuterRadius_pmt
private

Definition at line 83 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4Tubs* LXeMainVolume::fPhotocath
private

Definition at line 92 of file LXeMainVolume.hh.

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fPhotocath_log
private

Definition at line 100 of file LXeMainVolume.hh.

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

G4Tubs* LXeMainVolume::fPmt
private

Definition at line 91 of file LXeMainVolume.hh.

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fPmt_log
private

Definition at line 99 of file LXeMainVolume.hh.

Referenced by LXeMainVolume().

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

Definition at line 104 of file LXeMainVolume.hh.

Referenced by GetPmtPositions(), and PlacePMTs().

G4double LXeMainVolume::fRefl
private

Definition at line 85 of file LXeMainVolume.hh.

Referenced by CopyValues(), and SurfaceProperties().

G4Box* LXeMainVolume::fScint_box
private

Definition at line 89 of file LXeMainVolume.hh.

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fScint_log
private

Definition at line 97 of file LXeMainVolume.hh.

Referenced by GetLogScint(), and LXeMainVolume().

G4double LXeMainVolume::fScint_x
private

Definition at line 76 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4double LXeMainVolume::fScint_y
private

Definition at line 77 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4double LXeMainVolume::fScint_z
private

Definition at line 78 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().

G4Sphere* LXeMainVolume::fSphere
private

Definition at line 93 of file LXeMainVolume.hh.

Referenced by LXeMainVolume().

G4LogicalVolume* LXeMainVolume::fSphere_log
private

Definition at line 101 of file LXeMainVolume.hh.

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

G4bool LXeMainVolume::fSphereOn
private

Definition at line 84 of file LXeMainVolume.hh.

Referenced by CopyValues(), and LXeMainVolume().


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