QwGeant4
QweakSimPionWall Class Reference

#include <QweakSimPionWall.hh>

+ Collaboration diagram for QweakSimPionWall:

Public Member Functions

 QweakSimPionWall ()
 Constructor. More...
 
 ~QweakSimPionWall ()
 Destructor. More...
 
void ConstructPionWall (G4VPhysicalVolume *)
 
void DestroyComponent ()
 
void SetPionWall_CenterPositionInX (G4double xPos)
 
void SetPionWall_CenterPositionInY (G4double yPos)
 
void SetPionWall_CenterPositionInZ (G4double zPos)
 
void SetPionWall_Position_Offset_X (G4double xOff)
 
void SetPionWall_Position_Offset_Y (G4double yOff)
 
void SetPionWall_Position_Offset_Z (G4double zOff)
 
G4double GetPionWall_CenterPositionInX ()
 
G4double GetPionWall_CenterPositionInY ()
 
G4double GetPionWall_CenterPositionInZ ()
 
G4double GetPionWall_Position_Offset_X ()
 
G4double GetPionWall_Position_Offset_Y ()
 
G4double GetPionWall_Position_Offset_Z ()
 
void SetPionWallMaterial (G4String)
 
void SetPionWall_LengthInX (G4double dim)
 
void SetPionWall_LengthInY (G4double dim)
 
void SetPionWall_LengthInZ (G4double dim)
 
G4double GetPionWall_LengthInX ()
 
G4double GetPionWall_LengthInY ()
 
G4double GetPionWall_LengthInZ ()
 
G4LogicalVolume * getPionWallLogicalVolume ()
 
G4VPhysicalVolume * getPionWallPhysicalVolume ()
 
void SetEnabled ()
 
void SetDisabled ()
 
void SetPionWall_Material (G4String)
 

Private Attributes

QweakSimMaterialpMaterial
 
G4LogicalVolume * PionWall_Logical
 
G4VPhysicalVolume * PionWall_Physical
 
G4Box * PionWall_Solid
 
G4Material * PionWall_Material
 
G4VisAttributes * PionWall_VisAtt
 
QweakSimPionWallMessengerPionWall_Messenger
 
G4double PionWall_Length_X
 
G4double PionWall_Length_Y
 
G4double PionWall_Length_Z
 
G4double MD7_CenterYPosition
 
G4double MD7_CenterZPosition
 
G4double PionWall_CenterXPosition
 
G4double PionWall_CenterYPosition
 
G4double PionWall_CenterZPosition
 
G4double Offset_X
 
G4double Offset_Y
 
G4double Offset_Z
 

Detailed Description

Definition at line 34 of file QweakSimPionWall.hh.

Constructor & Destructor Documentation

QweakSimPionWall::QweakSimPionWall ( )

Constructor.

Definition at line 18 of file QweakSimPionWall.cc.

References QweakSimMaterial::GetInstance(), inch, MD7_CenterYPosition, MD7_CenterZPosition, Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, PionWall_Length_X, PionWall_Length_Y, PionWall_Length_Z, PionWall_Logical, PionWall_Material, PionWall_Messenger, PionWall_Physical, PionWall_Solid, PionWall_VisAtt, and pMaterial.

19 {
20  PionWall_Logical = NULL;
21  PionWall_Physical = NULL;
22  PionWall_Solid = NULL;
23  PionWall_Material = NULL;
24  PionWall_VisAtt = NULL;
25 
26  PionWall_Length_X = 22*4*inch; // 22 bricks wide (8" x 4" x 2")
27  PionWall_Length_Y = 10*inch; // 8" tall brick + another on its side
28  PionWall_Length_Z = 4*inch; // 4" thick (2 bricks)
29 
30  MD7_CenterYPosition = -335.17*cm;
31  MD7_CenterZPosition = 577.88*cm;
32 
33  Offset_X = 0.0*cm;
34  Offset_Y = 0.0*cm;
35  Offset_Z = 0.0*cm;
36 
38  PionWall_CenterYPosition = MD7_CenterYPosition + 1*inch; // MD7 center Y position + 1"
39  PionWall_CenterZPosition = MD7_CenterZPosition // MD 7 center Z position
40  - 6.5*cm // Center of Pb brick in front of PMT
41  - 1*inch // 1/2 Pb brick thickness
42  - 0.5*PionWall_Length_Z // 1/2 pion wall thickness
43  - 0.5*cm; // extra space so the pion wall doesn't overlap MD volume
44 
45  // This position places the PionWall 0.5 cm upstream of the Pb PMT shielding of MD7
46  // in Z and flush in Y. (Flush along bottom of Pb PMT shielding)
47 
48 
50 
51  // get access to material definition
53 }
QweakSimPionWallMessenger * PionWall_Messenger
static QweakSimMaterial * GetInstance()
G4Material * PionWall_Material
G4double MD7_CenterZPosition
G4VisAttributes * PionWall_VisAtt
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_Length_X
G4double MD7_CenterYPosition
static const G4double inch
QweakSimMaterial * pMaterial
G4double PionWall_CenterZPosition
G4double PionWall_Length_Z
G4double PionWall_CenterXPosition
G4LogicalVolume * PionWall_Logical
G4double PionWall_CenterYPosition
G4double PionWall_Length_Y

+ Here is the call graph for this function:

QweakSimPionWall::~QweakSimPionWall ( )

Destructor.

Definition at line 56 of file QweakSimPionWall.cc.

56 { }

Member Function Documentation

void QweakSimPionWall::ConstructPionWall ( G4VPhysicalVolume *  MotherVolume)

Creates the Pion Wall

Definition at line 59 of file QweakSimPionWall.cc.

References QweakSimMaterial::GetMaterial(), Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, PionWall_Length_X, PionWall_Length_Y, PionWall_Length_Z, PionWall_Logical, PionWall_Material, PionWall_Physical, PionWall_Solid, PionWall_VisAtt, pMaterial, and pSurfChk.

Referenced by QweakSimDetectorConstruction::ConstructQweak().

60 {
61 //-----------------------------------------------------------------------------
62 //! Creates the Pion Wall
63 /*
64  \param G4VPhysicalVolume* - The physical volume in which the pion wall will be placed
65 */
66 //-----------------------------------------------------------------------------
67 
68  // assign material
70 
71  G4ThreeVector positionPionWall;
72 
73 
74  // Construct pion wall volume
75  PionWall_Solid = new G4Box("PionWall_Sol",
77 
78  //***************************************************************************
79  // Define pion wall logical and physical volumes
80 
81  PionWall_Logical = new G4LogicalVolume(PionWall_Solid,
83  "PionWall_Log",
84  0,0,0);
85 
86  positionPionWall = G4ThreeVector(PionWall_CenterXPosition + Offset_X,
89 
90  PionWall_Physical = new G4PVPlacement(0,
91  positionPionWall,
92  "PionWall",
94  MotherVolume,
95  false,
96  0,
97  pSurfChk);
98  //***************************************************************************
99 
100  // Formating
101  G4Color blue (0.,0.,1.);
102 
103  PionWall_VisAtt = new G4VisAttributes(blue);
104  PionWall_VisAtt->SetVisibility(true);
105  PionWall_Logical->SetVisAttributes(PionWall_VisAtt);
106 
107 }
G4Material * PionWall_Material
static const G4bool pSurfChk
G4VisAttributes * PionWall_VisAtt
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_Length_X
QweakSimMaterial * pMaterial
G4Material * GetMaterial(G4String material)
G4double PionWall_CenterZPosition
G4double PionWall_Length_Z
G4double PionWall_CenterXPosition
G4LogicalVolume * PionWall_Logical
G4double PionWall_CenterYPosition
G4double PionWall_Length_Y

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimPionWall::DestroyComponent ( )
G4double QweakSimPionWall::GetPionWall_CenterPositionInX ( )
inline

Definition at line 84 of file QweakSimPionWall.hh.

References PionWall_CenterXPosition.

G4double PionWall_CenterXPosition
G4double QweakSimPionWall::GetPionWall_CenterPositionInY ( )
inline

Definition at line 85 of file QweakSimPionWall.hh.

References PionWall_CenterYPosition.

G4double PionWall_CenterYPosition
G4double QweakSimPionWall::GetPionWall_CenterPositionInZ ( )
inline

Definition at line 86 of file QweakSimPionWall.hh.

References PionWall_CenterZPosition.

G4double PionWall_CenterZPosition
G4double QweakSimPionWall::GetPionWall_LengthInX ( )
inline

Definition at line 98 of file QweakSimPionWall.hh.

References PionWall_Length_X.

98 {return PionWall_Length_X;}
G4double PionWall_Length_X
G4double QweakSimPionWall::GetPionWall_LengthInY ( )
inline

Definition at line 99 of file QweakSimPionWall.hh.

References PionWall_Length_Y.

99 {return PionWall_Length_Y;}
G4double PionWall_Length_Y
G4double QweakSimPionWall::GetPionWall_LengthInZ ( )
inline

Definition at line 100 of file QweakSimPionWall.hh.

References PionWall_Length_Z.

100 {return PionWall_Length_Z;}
G4double PionWall_Length_Z
G4double QweakSimPionWall::GetPionWall_Position_Offset_X ( )
inline

Definition at line 88 of file QweakSimPionWall.hh.

References Offset_X.

88 {return Offset_X;}
G4double QweakSimPionWall::GetPionWall_Position_Offset_Y ( )
inline

Definition at line 89 of file QweakSimPionWall.hh.

References Offset_Y.

89 {return Offset_Y;}
G4double QweakSimPionWall::GetPionWall_Position_Offset_Z ( )
inline

Definition at line 90 of file QweakSimPionWall.hh.

References Offset_Z.

90 {return Offset_Z;}
G4LogicalVolume* QweakSimPionWall::getPionWallLogicalVolume ( )
inline

Definition at line 102 of file QweakSimPionWall.hh.

References PionWall_Logical.

102 {return PionWall_Logical;}
G4LogicalVolume * PionWall_Logical
G4VPhysicalVolume* QweakSimPionWall::getPionWallPhysicalVolume ( )
inline

Definition at line 103 of file QweakSimPionWall.hh.

References PionWall_Physical.

103 {return PionWall_Physical;}
G4VPhysicalVolume * PionWall_Physical
void QweakSimPionWall::SetDisabled ( )

Definition at line 244 of file QweakSimPionWall.cc.

References PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, PionWall_Physical, PionWall_VisAtt, and SetPionWall_Material().

Referenced by QweakSimPionWallMessenger::SetNewValue().

245 {
246  // Disables the Pion Wall by changing the material to air,
247  // moving the wall 5m into the floor and hiding it.
248  PionWall_VisAtt->SetVisibility(true);
249  SetPionWall_Material("Air");
250  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition,
252  PionWall_CenterZPosition + 400*cm));
253 
254 }
G4VisAttributes * PionWall_VisAtt
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
void SetPionWall_Material(G4String)
G4double PionWall_CenterYPosition

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimPionWall::SetEnabled ( )

Definition at line 230 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, PionWall_Material, PionWall_Physical, PionWall_VisAtt, and SetPionWall_Material().

Referenced by QweakSimPionWallMessenger::SetNewValue().

231 {
232  // Enables the Pion Wall
233  PionWall_VisAtt->SetVisibility(true);
235  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
238 
239 
240 }
G4Material * PionWall_Material
G4VisAttributes * PionWall_VisAtt
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
void SetPionWall_Material(G4String)
G4double PionWall_CenterYPosition

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_CenterPositionInX ( G4double  xPos)

Definition at line 119 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, and PionWall_Physical.

120 {
121  // Sets X position of the pion wall
123  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
126 }
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
G4double PionWall_CenterYPosition
void QweakSimPionWall::SetPionWall_CenterPositionInY ( G4double  yPos)

Definition at line 129 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, and PionWall_Physical.

Referenced by SetPionWall_LengthInY().

130 {
131  // Sets Y position of the pion wall
133  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
136 }
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
G4double PionWall_CenterYPosition

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_CenterPositionInZ ( G4double  zPos)

Definition at line 139 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, and PionWall_Physical.

Referenced by SetPionWall_LengthInZ().

140 {
141  // Sets Z position of the pion wall
143  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
146 }
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
G4double PionWall_CenterYPosition

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_LengthInX ( G4double  dim)

Definition at line 179 of file QweakSimPionWall.cc.

References PionWall_Length_X, and PionWall_Solid.

Referenced by QweakSimPionWallMessenger::SetNewValue().

180 {
181  // Sets thickness in X of the Pion Wall
182  if (dim > 0.0){
183  //G4double oldDim = PionWall_Length_X;
184  PionWall_Length_X = dim;
185  PionWall_Solid->SetXHalfLength(0.5*PionWall_Length_X);
186  //SetPionWall_CenterPositionInZ(PionWall_CenterZPosition + 0.5*oldDim - 0.5*dim);
187  }
188  else
189  G4cout << "Pion Wall: Invalid thickness value" << G4endl;
190 }
G4double PionWall_Length_X

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_LengthInY ( G4double  dim)

Definition at line 193 of file QweakSimPionWall.cc.

References PionWall_CenterYPosition, PionWall_Length_Y, PionWall_Solid, and SetPionWall_CenterPositionInY().

Referenced by QweakSimPionWallMessenger::SetNewValue().

194 {
195  // Sets thickness in Y of the Pion Wall
196  if (dim > 0.0){
197  G4double oldDim = PionWall_Length_Y;
198  PionWall_Length_Y = dim;
199  PionWall_Solid->SetYHalfLength(0.5*PionWall_Length_Y);
201  }
202  else
203  G4cout << "Pion Wall: Invalid thickness value" << G4endl;
204 }
void SetPionWall_CenterPositionInY(G4double yPos)
G4double PionWall_CenterYPosition
G4double PionWall_Length_Y

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_LengthInZ ( G4double  dim)

Definition at line 207 of file QweakSimPionWall.cc.

References PionWall_CenterZPosition, PionWall_Length_Z, PionWall_Solid, and SetPionWall_CenterPositionInZ().

Referenced by QweakSimPionWallMessenger::SetNewValue().

208 {
209  // Sets thickness in Z of the Pion Wall and moves the Pion Wall to be flush with Pb MD7 PMT shielding blocks
210  if (dim > 0.0){
211  G4double oldDim = PionWall_Length_Z;
212  PionWall_Length_Z = dim;
213  PionWall_Solid->SetZHalfLength(0.5*PionWall_Length_Z);
215  }
216  else
217  G4cout << "Pion Wall: Invalid thickness value" << G4endl;
218 }
void SetPionWall_CenterPositionInZ(G4double zPos)
G4double PionWall_CenterZPosition
G4double PionWall_Length_Z

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_Material ( G4String  materialName)

Definition at line 222 of file QweakSimPionWall.cc.

References PionWall_Logical.

Referenced by SetDisabled(), and SetEnabled().

223 {
224  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
225  PionWall_Logical->SetMaterial(pttoMaterial);
226 }
G4LogicalVolume * PionWall_Logical

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_Position_Offset_X ( G4double  xOff)

Definition at line 149 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, and PionWall_Physical.

Referenced by QweakSimPionWallMessenger::SetNewValue().

150 {
151  // Sets X position offset of the pion wall
152  Offset_X = xOff;
153  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
156 }
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
G4double PionWall_CenterYPosition

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_Position_Offset_Y ( G4double  yOff)

Definition at line 159 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, and PionWall_Physical.

Referenced by QweakSimPionWallMessenger::SetNewValue().

160 {
161  // Sets Y position offset of the pion wall
162  Offset_Y = yOff;
163  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
166 }
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
G4double PionWall_CenterYPosition

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWall_Position_Offset_Z ( G4double  zOff)

Definition at line 169 of file QweakSimPionWall.cc.

References Offset_X, Offset_Y, Offset_Z, PionWall_CenterXPosition, PionWall_CenterYPosition, PionWall_CenterZPosition, and PionWall_Physical.

Referenced by QweakSimPionWallMessenger::SetNewValue().

170 {
171  // Sets Z position offset of the pion wall
172  Offset_Z = zOff;
173  PionWall_Physical->SetTranslation(G4ThreeVector(PionWall_CenterXPosition + Offset_X,
176 }
G4VPhysicalVolume * PionWall_Physical
G4double PionWall_CenterZPosition
G4double PionWall_CenterXPosition
G4double PionWall_CenterYPosition

+ Here is the caller graph for this function:

void QweakSimPionWall::SetPionWallMaterial ( G4String  materialName)

Definition at line 110 of file QweakSimPionWall.cc.

References PionWall_Logical.

111 {
112  // Sets pion wall material
113  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
114  if (pttoMaterial)
115  PionWall_Logical->SetMaterial(pttoMaterial);
116 }
G4LogicalVolume * PionWall_Logical

Field Documentation

G4double QweakSimPionWall::MD7_CenterYPosition
private

Definition at line 53 of file QweakSimPionWall.hh.

Referenced by QweakSimPionWall().

G4double QweakSimPionWall::MD7_CenterZPosition
private

Definition at line 54 of file QweakSimPionWall.hh.

Referenced by QweakSimPionWall().

G4double QweakSimPionWall::PionWall_Length_X
private
G4double QweakSimPionWall::PionWall_Length_Y
private
G4double QweakSimPionWall::PionWall_Length_Z
private
G4LogicalVolume* QweakSimPionWall::PionWall_Logical
private
G4Material* QweakSimPionWall::PionWall_Material
private

Definition at line 44 of file QweakSimPionWall.hh.

Referenced by ConstructPionWall(), QweakSimPionWall(), and SetEnabled().

QweakSimPionWallMessenger* QweakSimPionWall::PionWall_Messenger
private

Definition at line 47 of file QweakSimPionWall.hh.

Referenced by QweakSimPionWall().

G4Box* QweakSimPionWall::PionWall_Solid
private
G4VisAttributes* QweakSimPionWall::PionWall_VisAtt
private

Definition at line 45 of file QweakSimPionWall.hh.

Referenced by ConstructPionWall(), QweakSimPionWall(), SetDisabled(), and SetEnabled().

QweakSimMaterial* QweakSimPionWall::pMaterial
private

Definition at line 39 of file QweakSimPionWall.hh.

Referenced by ConstructPionWall(), and QweakSimPionWall().


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