Geant4  10.02.p03
LXeWLSSlab Class Reference

#include <LXeWLSSlab.hh>

Inheritance diagram for LXeWLSSlab:
Collaboration diagram for LXeWLSSlab:

Public Member Functions

 LXeWLSSlab (G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, LXeDetectorConstruction *c)
 
- 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 CopyValues ()
 

Private Attributes

LXeDetectorConstruction * fConstructor
 
G4int fNfibers
 
G4double fScint_x
 
G4double fScint_y
 
G4double fScint_z
 
G4double fSlab_z
 

Static Private Attributes

static G4LogicalVolume * fScintSlab_log =NULL
 

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 LXeWLSSlab.hh.

Constructor & Destructor Documentation

◆ LXeWLSSlab()

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

Definition at line 44 of file LXeWLSSlab.cc.

50  :G4PVPlacement(pRot,tlate,
51  new G4LogicalVolume(new G4Box("temp",1,1,1),
52  G4Material::GetMaterial("Vacuum"),
53  "temp",0,0,0),
54  "Slab",pMotherLogical,pMany,pCopyNo),fConstructor(c)
55 {
56  CopyValues();
57 
58  G4double slab_x = fScint_x/2.;
59  G4double slab_y = fScint_y/2.;
60 
61  G4Box* ScintSlab_box = new G4Box("Slab",slab_x,slab_y,fSlab_z);
62 
64  = new G4LogicalVolume(ScintSlab_box,
65  G4Material::GetMaterial("Polystyrene"),
66  "Slab",0,0,0);
67 
68  G4double spacing = 2*slab_y/fNfibers;
69 
71  rm->rotateY(90*deg);
72 
73  //Place fibers
74  for(G4int i=0;i<fNfibers;i++){
75  G4double Y=-(spacing)*(fNfibers-1)*0.5 + i*spacing;
76  new LXeWLSFiber(rm,G4ThreeVector(0.,Y,0.),fScintSlab_log,false,0,
77  fConstructor);
78  }
79 
81 }
G4double fScint_x
Definition: LXeWLSSlab.hh:64
CLHEP::Hep3Vector G4ThreeVector
CLHEP::HepRotation G4RotationMatrix
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
Definition: G4Material.cc:604
Definition: G4Box.hh:64
Float_t Y
HepRotation & rotateY(double delta)
Definition: Rotation.cc:79
static G4LogicalVolume * fScintSlab_log
Definition: LXeWLSSlab.hh:61
int G4int
Definition: G4Types.hh:78
G4double fScint_y
Definition: LXeWLSSlab.hh:65
static const double deg
Definition: G4SIunits.hh:151
G4PVPlacement(G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pCurrentLogical, const G4String &pName, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
G4double fSlab_z
Definition: LXeWLSSlab.hh:67
LXeDetectorConstruction * fConstructor
Definition: LXeWLSSlab.hh:59
G4int fNfibers
Definition: LXeWLSSlab.hh:63
void CopyValues()
Definition: LXeWLSSlab.cc:85
double G4double
Definition: G4Types.hh:76
void SetLogicalVolume(G4LogicalVolume *pLogical)
Here is the call graph for this function:

Member Function Documentation

◆ CopyValues()

void LXeWLSSlab::CopyValues ( )
private

Definition at line 85 of file LXeWLSSlab.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fConstructor

LXeDetectorConstruction* LXeWLSSlab::fConstructor
private

Definition at line 59 of file LXeWLSSlab.hh.

◆ fNfibers

G4int LXeWLSSlab::fNfibers
private

Definition at line 63 of file LXeWLSSlab.hh.

◆ fScint_x

G4double LXeWLSSlab::fScint_x
private

Definition at line 64 of file LXeWLSSlab.hh.

◆ fScint_y

G4double LXeWLSSlab::fScint_y
private

Definition at line 65 of file LXeWLSSlab.hh.

◆ fScint_z

G4double LXeWLSSlab::fScint_z
private

Definition at line 66 of file LXeWLSSlab.hh.

◆ fScintSlab_log

G4LogicalVolume * LXeWLSSlab::fScintSlab_log =NULL
staticprivate

Definition at line 61 of file LXeWLSSlab.hh.

◆ fSlab_z

G4double LXeWLSSlab::fSlab_z
private

Definition at line 67 of file LXeWLSSlab.hh.


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