36std::vector<G4LogicalVolume*> G4LogicalCrystalVolume::fLCVvec;
46:
G4LogicalVolume(pSolid,pMaterial,name,pFieldMgr,pSDetector,pULimits,optimise)
49 fLCVvec.push_back(
this);
56 fLCVvec.erase( std::remove(fLCVvec.begin(),fLCVvec.end(),
this ),
64 return std::find(fLCVvec.begin(), fLCVvec.end(), aLV) != fLCVvec.end();
73 ->RetrieveExtension(
"crystal"));
94 G4cout <<
"G4LatticePhysical::SetMillerOrientation(" << h <<
" "
95 << k <<
" " << l <<
", " << rot/CLHEP::deg <<
" deg)" <<
G4endl;
105 if (verboseLevel>1)
G4cout <<
" norm = " << norm <<
G4endl;
112 if (verboseLevel>1)
G4cout <<
" fOrient = " << fOrient <<
G4endl;
G4GLOB_DLL std::ostream G4cout
Hep3Vector & transform(const HepRotation &)
HepRotation inverse() const
static DLL_API const HepRotation IDENTITY
HepRotation & rotateZ(double delta)
HepRotation & rotateY(double delta)
G4CrystalUnitCell * GetUnitCell() const
const G4ThreeVector & GetBasis(G4int idx) const
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)
const G4ThreeVector & RotateToSolid(G4ThreeVector &dir) const
static G4bool IsLattice(G4LogicalVolume *aLV)
const G4ThreeVector & GetBasis(G4int i) const
const G4ThreeVector & RotateToLattice(G4ThreeVector &dir) const
const G4CrystalExtension * GetCrystal() const
void SetMillerOrientation(G4int h, G4int k, G4int l, G4double rot=0.0)
~G4LogicalCrystalVolume()
G4Material * GetMaterial() const