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

#include <geant4/tree/geant4-10.6-release/source/geometry/management/include/G4LogicalCrystalVolume.hh>

+ Inheritance diagram for G4LogicalCrystalVolume:
+ Collaboration diagram for G4LogicalCrystalVolume:

Public Member Functions

 G4LogicalCrystalVolume (G4VSolid *pSolid, G4ExtendedMaterial *pMaterial, const G4String &name, G4FieldManager *pFieldMgr=nullptr, G4VSensitiveDetector *pSDetector=nullptr, G4UserLimits *pULimits=nullptr, G4bool optimise=true, G4int h=0, G4int k=0, G4int l=0, G4double rot=0.0)
 
 ~G4LogicalCrystalVolume ()
 
G4bool IsExtended () const
 
void SetMillerOrientation (G4int h, G4int k, G4int l, G4double rot=0.0)
 
const G4ThreeVectorRotateToLattice (G4ThreeVector &dir) const
 
const G4ThreeVectorRotateToSolid (G4ThreeVector &dir) const
 
const G4CrystalExtensionGetCrystal () const
 
const G4ThreeVectorGetBasis (G4int i) const
 
void SetVerbose (G4int aInt)
 
- Public Member Functions inherited from G4LogicalVolume
 G4LogicalVolume (G4VSolid *pSolid, G4Material *pMaterial, const G4String &name, G4FieldManager *pFieldMgr=nullptr, G4VSensitiveDetector *pSDetector=nullptr, G4UserLimits *pULimits=nullptr, G4bool optimise=true)
 
virtual ~G4LogicalVolume ()
 
 G4LogicalVolume (const G4LogicalVolume &)=delete
 
G4LogicalVolumeoperator= (const G4LogicalVolume &)=delete
 
const G4StringGetName () const
 
void SetName (const G4String &pName)
 
size_t GetNoDaughters () const
 
G4VPhysicalVolumeGetDaughter (const G4int i) const
 
void AddDaughter (G4VPhysicalVolume *p)
 
G4bool IsDaughter (const G4VPhysicalVolume *p) const
 
G4bool IsAncestor (const G4VPhysicalVolume *p) const
 
void RemoveDaughter (const G4VPhysicalVolume *p)
 
void ClearDaughters ()
 
G4int TotalVolumeEntities () const
 
EVolume CharacteriseDaughters () const
 
EVolume DeduceDaughtersType () const
 
G4VSolidGetSolid () const
 
void SetSolid (G4VSolid *pSolid)
 
G4MaterialGetMaterial () const
 
void SetMaterial (G4Material *pMaterial)
 
void UpdateMaterial (G4Material *pMaterial)
 
G4double GetMass (G4bool forced=false, G4bool propagate=true, G4Material *parMaterial=nullptr)
 
void ResetMass ()
 
G4FieldManagerGetFieldManager () const
 
void SetFieldManager (G4FieldManager *pFieldMgr, G4bool forceToAllDaughters)
 
G4VSensitiveDetectorGetSensitiveDetector () const
 
void SetSensitiveDetector (G4VSensitiveDetector *pSDetector)
 
G4UserLimitsGetUserLimits () const
 
void SetUserLimits (G4UserLimits *pULimits)
 
G4SmartVoxelHeaderGetVoxelHeader () const
 
void SetVoxelHeader (G4SmartVoxelHeader *pVoxel)
 
G4double GetSmartless () const
 
void SetSmartless (G4double s)
 
G4bool IsToOptimise () const
 
void SetOptimisation (G4bool optim)
 
G4bool IsRootRegion () const
 
void SetRegionRootFlag (G4bool rreg)
 
G4bool IsRegion () const
 
void SetRegion (G4Region *reg)
 
G4RegionGetRegion () const
 
void PropagateRegion ()
 
const G4MaterialCutsCoupleGetMaterialCutsCouple () const
 
void SetMaterialCutsCouple (G4MaterialCutsCouple *cuts)
 
G4bool operator== (const G4LogicalVolume &lv) const
 
const G4VisAttributesGetVisAttributes () const
 
void SetVisAttributes (const G4VisAttributes *pVA)
 
void SetVisAttributes (const G4VisAttributes &VA)
 
G4FastSimulationManagerGetFastSimulationManager () const
 
void SetBiasWeight (G4double w)
 
G4double GetBiasWeight () const
 
 G4LogicalVolume (__void__ &)
 
G4FieldManagerGetMasterFieldManager () const
 
G4VSensitiveDetectorGetMasterSensitiveDetector () const
 
G4VSolidGetMasterSolid () const
 
G4int GetInstanceID () const
 
void Lock ()
 
void InitialiseWorker (G4LogicalVolume *ptrMasterObject, G4VSolid *pSolid, G4VSensitiveDetector *pSDetector)
 
void TerminateWorker (G4LogicalVolume *ptrMasterObject)
 
void AssignFieldManager (G4FieldManager *fldMgr)
 
G4bool ChangeDaughtersType (EVolume atype)
 

Static Public Member Functions

static G4bool IsLattice (G4LogicalVolume *aLV)
 
- Static Public Member Functions inherited from G4LogicalVolume
static const G4LVManagerGetSubInstanceManager ()
 
static void Clean ()
 
static G4VSolidGetSolid (G4LVData &instLVdata)
 
static void SetSolid (G4LVData &instLVdata, G4VSolid *pSolid)
 

Private Attributes

G4RotationMatrix fOrient
 
G4RotationMatrix fInverse
 
G4int hMiller = 1
 
G4int kMiller = 1
 
G4int lMiller = 0
 
G4double fRot = 0.0
 
G4int verboseLevel = 0
 

Static Private Attributes

static std::vector
< G4LogicalVolume * > 
fLCVvec
 

Detailed Description

Definition at line 46 of file G4LogicalCrystalVolume.hh.

View newest version in sPHENIX GitHub at line 46 of file G4LogicalCrystalVolume.hh

Constructor & Destructor Documentation

G4LogicalCrystalVolume::G4LogicalCrystalVolume ( G4VSolid pSolid,
G4ExtendedMaterial pMaterial,
const G4String name,
G4FieldManager pFieldMgr = nullptr,
G4VSensitiveDetector pSDetector = nullptr,
G4UserLimits pULimits = nullptr,
G4bool  optimise = true,
G4int  h = 0,
G4int  k = 0,
G4int  l = 0,
G4double  rot = 0.0 
)

Definition at line 41 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 41 of file G4LogicalCrystalVolume.cc

References fLCVvec, and SetMillerOrientation().

+ Here is the call graph for this function:

G4LogicalCrystalVolume::~G4LogicalCrystalVolume ( )

Definition at line 54 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 54 of file G4LogicalCrystalVolume.cc

References fLCVvec.

Member Function Documentation

const G4ThreeVector & G4LogicalCrystalVolume::GetBasis ( G4int  i) const

Definition at line 78 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 78 of file G4LogicalCrystalVolume.cc

References G4CrystalUnitCell::GetBasis(), GetCrystal(), and G4CrystalExtension::GetUnitCell().

Referenced by SetMillerOrientation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4CrystalExtension * G4LogicalCrystalVolume::GetCrystal ( ) const

Definition at line 69 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 69 of file G4LogicalCrystalVolume.cc

References G4LogicalVolume::GetMaterial().

Referenced by GetBasis().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4LogicalCrystalVolume::IsExtended ( ) const
inlinevirtual

Reimplemented from G4LogicalVolume.

Definition at line 64 of file G4LogicalCrystalVolume.hh.

View newest version in sPHENIX GitHub at line 64 of file G4LogicalCrystalVolume.hh

G4bool G4LogicalCrystalVolume::IsLattice ( G4LogicalVolume aLV)
static

Definition at line 62 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 62 of file G4LogicalCrystalVolume.cc

References fLCVvec.

Referenced by G4Channeling::GetMeanFreePath(), and G4Channeling::PostStepDoIt().

+ Here is the caller graph for this function:

const G4ThreeVector & G4LogicalCrystalVolume::RotateToLattice ( G4ThreeVector dir) const

Definition at line 122 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 122 of file G4LogicalCrystalVolume.cc

References fOrient, and CLHEP::Hep3Vector::transform().

Referenced by G4Channeling::UpdateParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4ThreeVector & G4LogicalCrystalVolume::RotateToSolid ( G4ThreeVector dir) const

Definition at line 128 of file G4LogicalCrystalVolume.cc.

View newest version in sPHENIX GitHub at line 128 of file G4LogicalCrystalVolume.cc

References fInverse, and CLHEP::Hep3Vector::transform().

Referenced by G4Channeling::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LogicalCrystalVolume::SetMillerOrientation ( G4int  h,
G4int  k,
G4int  l,
G4double  rot = 0.0 
)

Definition at line 85 of file G4LogicalCrystalVolume.cc.

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

References CLHEP::deg, fInverse, fOrient, fRot, G4cout, G4endl, GetBasis(), Acts::UnitConstants::h, hMiller, CLHEP::HepRotation::IDENTITY, CLHEP::HepRotation::inverse(), k, kMiller, lMiller, norm, CLHEP::Hep3Vector::phi(), CLHEP::HepRotation::rotateY(), CLHEP::HepRotation::rotateZ(), CLHEP::Hep3Vector::theta(), and verboseLevel.

Referenced by G4LogicalCrystalVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LogicalCrystalVolume::SetVerbose ( G4int  aInt)
inline

Definition at line 81 of file G4LogicalCrystalVolume.hh.

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

References verboseLevel.

Member Data Documentation

G4RotationMatrix G4LogicalCrystalVolume::fInverse
private

Definition at line 88 of file G4LogicalCrystalVolume.hh.

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

Referenced by RotateToSolid(), and SetMillerOrientation().

std::vector< G4LogicalVolume * > G4LogicalCrystalVolume::fLCVvec
staticprivate

Definition at line 94 of file G4LogicalCrystalVolume.hh.

View newest version in sPHENIX GitHub at line 94 of file G4LogicalCrystalVolume.hh

Referenced by G4LogicalCrystalVolume(), IsLattice(), and ~G4LogicalCrystalVolume().

G4RotationMatrix G4LogicalCrystalVolume::fOrient
private

Definition at line 87 of file G4LogicalCrystalVolume.hh.

View newest version in sPHENIX GitHub at line 87 of file G4LogicalCrystalVolume.hh

Referenced by RotateToLattice(), and SetMillerOrientation().

G4double G4LogicalCrystalVolume::fRot = 0.0
private

Definition at line 90 of file G4LogicalCrystalVolume.hh.

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

Referenced by SetMillerOrientation().

G4int G4LogicalCrystalVolume::hMiller = 1
private

Definition at line 89 of file G4LogicalCrystalVolume.hh.

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

Referenced by SetMillerOrientation().

G4int G4LogicalCrystalVolume::kMiller = 1
private

Definition at line 89 of file G4LogicalCrystalVolume.hh.

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

Referenced by SetMillerOrientation().

G4int G4LogicalCrystalVolume::lMiller = 0
private

Definition at line 89 of file G4LogicalCrystalVolume.hh.

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

Referenced by SetMillerOrientation().

G4int G4LogicalCrystalVolume::verboseLevel = 0
private

Definition at line 92 of file G4LogicalCrystalVolume.hh.

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

Referenced by SetMillerOrientation(), and SetVerbose().


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