Geant4  10.02.p03
LXeWLSFiber Class Reference

#include <LXeWLSFiber.hh>

Inheritance diagram for LXeWLSFiber:
Collaboration diagram for LXeWLSFiber:

Public Member Functions

 LXeWLSFiber (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
 
G4VPVParameterisationGetParameterisation () 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
 
G4RotationMatrixGetObjectRotation () const
 
G4RotationMatrix GetObjectRotationValue () const
 
G4ThreeVector GetObjectTranslation () const
 
const G4RotationMatrixGetFrameRotation () const
 
G4ThreeVector GetFrameTranslation () const
 
const G4ThreeVectorGetTranslation () 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)
 
EVolume VolumeType () const
 
virtual G4int GetMultiplicity () const
 
 G4VPhysicalVolume (__void__ &)
 
G4int GetInstanceID () const
 

Private Member Functions

void CopyValues ()
 

Private Attributes

G4double fFiber_rmin
 
G4double fFiber_rmax
 
G4double fFiber_z
 
G4double fFiber_sphi
 
G4double fFiber_ephi
 
G4double fClad1_rmin
 
G4double fClad1_rmax
 
G4double fClad1_z
 
G4double fClad1_sphi
 
G4double fClad1_ephi
 
G4double fClad2_rmin
 
G4double fClad2_rmax
 
G4double fClad2_z
 
G4double fClad2_sphi
 
G4double fClad2_ephi
 
LXeDetectorConstructionfConstructor
 

Static Private Attributes

static G4LogicalVolumefClad2_log =NULL
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicalVolume
static const G4PVManagerGetSubInstanceManager ()
 
- 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 LXeWLSFiber.hh.

Constructor & Destructor Documentation

◆ LXeWLSFiber()

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

Definition at line 42 of file LXeWLSFiber.cc.

48  :G4PVPlacement(pRot,tlate,
49  new G4LogicalVolume(new G4Box("temp",1,1,1),
50  G4Material::GetMaterial("Vacuum"),
51  "temp",0,0,0),
52  "Cladding2",pMotherLogical,pMany,pCopyNo),fConstructor(c)
53 {
54  CopyValues();
55 
56  // The Fiber
57  //
58  G4Tubs* fiber_tube =
60 
61  G4LogicalVolume* fiber_log =
62  new G4LogicalVolume(fiber_tube,G4Material::GetMaterial("PMMA"),
63  "Fiber",0,0,0);
64 
65  // Cladding (first layer)
66  //
67  G4Tubs* clad1_tube =
69  fClad1_ephi);
70 
71  G4LogicalVolume* clad1_log =
72  new G4LogicalVolume(clad1_tube,G4Material::GetMaterial("Pethylene1"),
73  "Cladding1",0,0,0);
74 
75  // Cladding (second layer)
76  //
77  G4Tubs* clad2_tube =
79  fClad2_ephi);
80 
81  fClad2_log =
82  new G4LogicalVolume(clad2_tube,G4Material::GetMaterial("Pethylene2"),
83  "Cladding2",0,0,0);
84 
85  new G4PVPlacement(0,G4ThreeVector(0.,0.,0.),fiber_log,
86  "Fiber", clad1_log,false,0);
87  new G4PVPlacement(0,G4ThreeVector(0.,0.,0.),clad1_log,
88  "Cladding1",fClad2_log,false,0);
89 
91 }
G4double fClad2_z
Definition: LXeWLSFiber.hh:75
G4double fClad2_sphi
Definition: LXeWLSFiber.hh:76
CLHEP::Hep3Vector G4ThreeVector
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
Definition: G4Material.cc:604
Definition: G4Box.hh:64
Definition: G4Tubs.hh:85
G4double fFiber_sphi
Definition: LXeWLSFiber.hh:64
G4double fClad1_sphi
Definition: LXeWLSFiber.hh:70
LXeDetectorConstruction * fConstructor
Definition: LXeWLSFiber.hh:79
G4double fClad2_rmin
Definition: LXeWLSFiber.hh:73
G4PVPlacement(G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pCurrentLogical, const G4String &pName, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
G4double fClad2_ephi
Definition: LXeWLSFiber.hh:77
G4double fClad1_z
Definition: LXeWLSFiber.hh:69
void CopyValues()
Definition: LXeWLSFiber.cc:95
G4double fClad1_rmax
Definition: LXeWLSFiber.hh:68
G4double fFiber_ephi
Definition: LXeWLSFiber.hh:65
G4double fFiber_rmax
Definition: LXeWLSFiber.hh:62
G4double fFiber_z
Definition: LXeWLSFiber.hh:63
G4double fClad1_rmin
Definition: LXeWLSFiber.hh:67
G4double fFiber_rmin
Definition: LXeWLSFiber.hh:61
void SetLogicalVolume(G4LogicalVolume *pLogical)
static G4LogicalVolume * fClad2_log
Definition: LXeWLSFiber.hh:59
G4double fClad2_rmax
Definition: LXeWLSFiber.hh:74
G4double fClad1_ephi
Definition: LXeWLSFiber.hh:71
Here is the call graph for this function:

Member Function Documentation

◆ CopyValues()

void LXeWLSFiber::CopyValues ( )
private

Definition at line 95 of file LXeWLSFiber.cc.

95  {
96 
97  fFiber_rmin = 0.00*cm;
98  fFiber_rmax = 0.10*cm;
100  fFiber_sphi = 0.00*deg;
101  fFiber_ephi = 360.*deg;
102 
103  fClad1_rmin = 0.;// fFiber_rmax;
105 
106  fClad1_z = fFiber_z;
109 
110  fClad2_rmin = 0.;//fClad1_rmax;
112 
113  fClad2_z = fFiber_z;
116 
117 }
static const double cm
Definition: G4SIunits.hh:118
G4double fClad2_z
Definition: LXeWLSFiber.hh:75
G4double fClad2_sphi
Definition: LXeWLSFiber.hh:76
G4double fFiber_sphi
Definition: LXeWLSFiber.hh:64
G4double fClad1_sphi
Definition: LXeWLSFiber.hh:70
LXeDetectorConstruction * fConstructor
Definition: LXeWLSFiber.hh:79
G4double fClad2_rmin
Definition: LXeWLSFiber.hh:73
static const double deg
Definition: G4SIunits.hh:151
G4double fClad2_ephi
Definition: LXeWLSFiber.hh:77
G4double fClad1_z
Definition: LXeWLSFiber.hh:69
G4double fClad1_rmax
Definition: LXeWLSFiber.hh:68
G4double fFiber_ephi
Definition: LXeWLSFiber.hh:65
G4double fFiber_rmax
Definition: LXeWLSFiber.hh:62
G4double fFiber_z
Definition: LXeWLSFiber.hh:63
G4double fClad1_rmin
Definition: LXeWLSFiber.hh:67
G4double fFiber_rmin
Definition: LXeWLSFiber.hh:61
G4double fClad2_rmax
Definition: LXeWLSFiber.hh:74
G4double fClad1_ephi
Definition: LXeWLSFiber.hh:71
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fClad1_ephi

G4double LXeWLSFiber::fClad1_ephi
private

Definition at line 71 of file LXeWLSFiber.hh.

◆ fClad1_rmax

G4double LXeWLSFiber::fClad1_rmax
private

Definition at line 68 of file LXeWLSFiber.hh.

◆ fClad1_rmin

G4double LXeWLSFiber::fClad1_rmin
private

Definition at line 67 of file LXeWLSFiber.hh.

◆ fClad1_sphi

G4double LXeWLSFiber::fClad1_sphi
private

Definition at line 70 of file LXeWLSFiber.hh.

◆ fClad1_z

G4double LXeWLSFiber::fClad1_z
private

Definition at line 69 of file LXeWLSFiber.hh.

◆ fClad2_ephi

G4double LXeWLSFiber::fClad2_ephi
private

Definition at line 77 of file LXeWLSFiber.hh.

◆ fClad2_log

G4LogicalVolume * LXeWLSFiber::fClad2_log =NULL
staticprivate

Definition at line 59 of file LXeWLSFiber.hh.

◆ fClad2_rmax

G4double LXeWLSFiber::fClad2_rmax
private

Definition at line 74 of file LXeWLSFiber.hh.

◆ fClad2_rmin

G4double LXeWLSFiber::fClad2_rmin
private

Definition at line 73 of file LXeWLSFiber.hh.

◆ fClad2_sphi

G4double LXeWLSFiber::fClad2_sphi
private

Definition at line 76 of file LXeWLSFiber.hh.

◆ fClad2_z

G4double LXeWLSFiber::fClad2_z
private

Definition at line 75 of file LXeWLSFiber.hh.

◆ fConstructor

LXeDetectorConstruction* LXeWLSFiber::fConstructor
private

Definition at line 79 of file LXeWLSFiber.hh.

◆ fFiber_ephi

G4double LXeWLSFiber::fFiber_ephi
private

Definition at line 65 of file LXeWLSFiber.hh.

◆ fFiber_rmax

G4double LXeWLSFiber::fFiber_rmax
private

Definition at line 62 of file LXeWLSFiber.hh.

◆ fFiber_rmin

G4double LXeWLSFiber::fFiber_rmin
private

Definition at line 61 of file LXeWLSFiber.hh.

◆ fFiber_sphi

G4double LXeWLSFiber::fFiber_sphi
private

Definition at line 64 of file LXeWLSFiber.hh.

◆ fFiber_z

G4double LXeWLSFiber::fFiber_z
private

Definition at line 63 of file LXeWLSFiber.hh.


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