QwGeant4
QweakSimVDC Class Reference

Region 3 Vertical Drift Chamber. More...

#include <QweakSimVDC.hh>

+ Collaboration diagram for QweakSimVDC:

Public Member Functions

 QweakSimVDC ()
 
 ~QweakSimVDC ()
 
void ConstructComponent (G4VPhysicalVolume *)
 
void DestroyComponent ()
 
void SetVDC_MasterContainerMaterial (G4String)
 
void SetVDC_SubContainerMaterial (G4String)
 
void SetVDC_FoilMaterial (G4String)
 
void SetVDC_WirePlaneMaterial (G4String)
 
void SetVDC_G10FrameMaterial (G4String)
 
void SetVDC_AluFrameMaterial (G4String)
 
void SetVDC_DriftCellMaterial (G4String)
 
void SetVDC_DriftCellFrontWireAngle (G4double frontWireAngle)
 
void SetVDC_DriftCellBackWireAngle (G4double backWireAngle)
 
void SetVDC_DriftCellFullHeight (G4double fullHeight)
 
void SetVDC_DriftCellFullWidthOnFrame (G4double fullWidthOnFrame)
 
void SetVDC_DriftCellFullThickness (G4double fullThickness)
 
void SetVDC_DriftCellNumberPerPlane (G4int numberPerPlane)
 
void SetVDC_DriftCellGeometryUpdate ()
 
void SetFrontVDC_CenterPositionInX (G4double xPos, G4int pkg)
 
void SetFrontVDC_CenterPositionInY (G4double yPos, G4int pkg)
 
void SetFrontVDC_CenterPositionInZ (G4double zPos, G4int pkg)
 
void SetVDC_RotationAngleInPhi (G4double vdc_phiangle, G4int pkg)
 
void SetVDC_MeanTrackAngleInTheta (G4double angle)
 
G4LogicalVolume * getVDC_LogicalVolume ()
 
G4VPhysicalVolume * getVDCFront_PhysicalVolume ()
 
G4VPhysicalVolume * getVDCBack_PhysicalVolume ()
 
G4LogicalVolume * getVDC_WirePlane_LogicalVolume ()
 
G4VPhysicalVolume * getVDC_UWirePlane_PhysicalVolume ()
 
G4VPhysicalVolume * getVDC_VWirePlane_PhysicalVolume ()
 
G4LogicalVolume * getVDC_DriftCellMasterContainer_LogicalVolume ()
 
G4VPhysicalVolume * getVDC_DriftCellMasterContainer_PhysicalVolume ()
 
G4LogicalVolume * getVDC_DriftCellFrontContainer_LogicalVolume ()
 
G4VPhysicalVolume * getVDC_DriftCellFrontContainer_PhysicalVolume ()
 
G4LogicalVolume * getVDC_DriftCellBackContainer_LogicalVolume ()
 
G4VPhysicalVolume * getVDC_DriftCellBackContainer_PhysicalVolume ()
 
G4LogicalVolume * getVDC_DriftCellFront_LogicalVolume ()
 
G4VPhysicalVolume * getVDC_DriftCellFront_PhysicalVolume ()
 
G4LogicalVolume * getVDC_DriftCellBack_LogicalVolume ()
 
G4VPhysicalVolume * getVDC_DriftCellBack_PhysicalVolume ()
 
G4double GetDCWidthOnFrame ()
 
G4double GetDCFullThickness ()
 
G4double GetDCUPlaneWireAngle ()
 
G4double GetDCVPlaneWireAngle ()
 
void SetVDCRotator (QweakSimVDCRotator *theRotator)
 
QweakSimVDCRotatorGetVDCRotator ()
 
void SetTriggerScintillator (QweakSimTriggerScintillator *theTriggerScintillator)
 
QweakSimTriggerScintillatorGetTriggerScintillator ()
 

Private Member Functions

void SetVDC_BackVDC_CenterPosition (G4int pkg)
 
void SetVDC_DriftCell_MasterContainer_CenterPosition (G4int pkg)
 
void PlaceVDC_MasterContainers ()
 
void PlaceVDC_DriftCellMasterContainers ()
 

Private Attributes

QweakSimVDCRotatormyRotator
 
QweakSimTriggerScintillatormyTriggerScintillator
 
std::vector< G4RotationMatrix * > Rotation_VDC_MasterContainer
 
G4double MeanTrackAngle
 
G4double VDC_RotationAngleInPhi [2]
 
std::vector
< QweakSimVDCMessenger * > 
VDC_Messenger
 
QweakSimMaterialpMaterial
 
G4VPhysicalVolume * theMotherPV
 
G4LogicalVolume * VDC_DriftCellMasterContainer_Logical
 
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
 
G4LogicalVolume * VDC_DriftCellFrontContainer_Logical
 
G4VPhysicalVolume * VDC_DriftCellFrontContainer_Physical
 
G4LogicalVolume * VDC_DriftCellBackContainer_Logical
 
G4VPhysicalVolume * VDC_DriftCellBackContainer_Physical
 
G4Para * VDC_DriftCellFront_Solid
 
G4LogicalVolume * VDC_DriftCellFront_Logical
 
G4VPhysicalVolume * VDC_DriftCellFront_Physical
 
G4Para * VDC_DriftCellBack_Solid
 
G4LogicalVolume * VDC_DriftCellBack_Logical
 
G4VPhysicalVolume * VDC_DriftCellBack_Physical
 
G4double G10Frame_Thickness
 
G4double G10Frame_OuterLength
 
G4double G10Frame_OuterWidth
 
G4double G10Frame_InnerLength
 
G4double G10Frame_InnerWidth
 
G4double G10Frame_BorderWidthInX
 
G4double G10Frame_BorderWidthInY
 
G4double AluFrame_Thickness
 
G4double AluFrame_OuterLength
 
G4double AluFrame_OuterWidth
 
G4double AluFrame_InnerLength
 
G4double AluFrame_InnerWidth
 
std::vector< G4double > VDC_CenterFront_XPos
 
std::vector< G4double > VDC_CenterFront_YPos
 
std::vector< G4double > VDC_CenterFront_ZPos
 
std::vector< G4double > VDC_CenterBack_XPos
 
std::vector< G4double > VDC_CenterBack_YPos
 
std::vector< G4double > VDC_CenterBack_ZPos
 
G4double VDC_FrontBackDistance
 
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
 
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
 
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
 
G4int DriftCell_NumberPerPlane
 
G4double DriftCell_FullWidthOnFrame
 
G4double DriftCell_FullHeight
 
G4double DriftCell_FullThickness
 
G4double DriftCell_WireAngleFront
 
G4double DriftCell_WireAngleBack
 
G4double DriftCell_MasterContainer_FullLength
 
G4double DriftCell_MasterContainer_FullHeight
 
G4double DriftCell_MasterContainer_FullThickness
 
G4VisAttributes * VDC_DriftCellMasterContainer_VisAtt
 
G4VisAttributes * VDC_DriftCellFrontContainer_VisAtt
 
G4VisAttributes * VDC_DriftCellBackContainer_VisAtt
 
G4VisAttributes * VDC_DriftCellFront_VisAtt
 
G4VisAttributes * VDC_DriftCellBack_VisAtt
 
G4VSensitiveDetector * driftChamberSD
 
G4VSensitiveDetector * driftCellFrontSD
 
G4VSensitiveDetector * driftCellBackSD
 
G4double VDC_AluLayer_Thickness
 
G4double VDC_MylarFoil_Thickness
 
G4LogicalVolume * VDC_MasterContainer_Logical
 
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
 
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
 
G4LogicalVolume * VDC_SubContainer_Logical
 
G4VPhysicalVolume * VDC_SubContainer_Physical
 
G4SubtractionSolid * VDC_G10Frame_Solid
 
G4LogicalVolume * VDC_G10Frame_Logical
 
G4VPhysicalVolume * VDC_G10Frame_Physical
 
G4SubtractionSolid * VDC_AluFrame_Solid
 
G4LogicalVolume * VDC_AluFrame_Logical
 
G4VPhysicalVolume * VDC_AluTopFrame_Physical
 
G4VPhysicalVolume * VDC_AluBottomFrame_Physical
 
G4LogicalVolume * VDC_MylarFoil_Logical
 
G4LogicalVolume * VDC_AluLayer_Logical
 
G4LogicalVolume * VDC_WirePlane_Logical
 
G4VPhysicalVolume * VDC_UPlane_Physical
 
G4VPhysicalVolume * VDC_VPlane_Physical
 
G4LogicalVolume * VDC_AMA_FoilContainer_Logical
 
G4LogicalVolume * VDC_AM_FoilContainer_Logical
 
G4LogicalVolume * VDC_MA_FoilContainer_Logical
 
G4VPhysicalVolume * VDC_TopGasFoilContainer_Physical
 
G4VPhysicalVolume * VDC_TopHVFoilContainer_Physical
 
G4VPhysicalVolume * VDC_CenterHVFoilContainer_Physical
 
G4VPhysicalVolume * VDC_BottomHVFoilContainer_Physical
 
G4VPhysicalVolume * VDC_BottomGasFoilContainer_Physical
 
G4VisAttributes * VDC_MasterContainer_VisAtt
 
G4VisAttributes * VDC_SubContainer_VisAtt
 
G4VisAttributes * VDC_G10Frame_VisAtt
 
G4VisAttributes * VDC_AluFrame_VisAtt
 
G4VisAttributes * VDC_AMA_FoilContainer_VisAtt
 
G4VisAttributes * VDC_AM_FoilContainer_VisAtt
 
G4VisAttributes * VDC_MA_FoilContainer_VisAtt
 
G4VisAttributes * VDC_AluLayer_VisAtt
 
G4VisAttributes * VDC_MylarFoil_VisAtt
 
G4VisAttributes * VDC_WirePlane_VisAtt
 
G4double fGammaCut
 
G4double fElectronCut
 
G4double fPositronCut
 
G4Region * fRegGasDet
 

Static Private Attributes

static const G4bool fEnablePAI = false
 

Detailed Description

Region 3 Vertical Drift Chamber.

Placeholder for a long explaination

Definition at line 67 of file QweakSimVDC.hh.

Constructor & Destructor Documentation

QweakSimVDC::QweakSimVDC ( )

Definition at line 42 of file QweakSimVDC.cc.

References AluFrame_InnerLength, AluFrame_InnerWidth, AluFrame_OuterLength, AluFrame_OuterWidth, AluFrame_Thickness, DriftCell_FullHeight, DriftCell_FullThickness, DriftCell_FullWidthOnFrame, DriftCell_MasterContainer_FullHeight, DriftCell_MasterContainer_FullLength, DriftCell_MasterContainer_FullThickness, DriftCell_NumberPerPlane, DriftCell_WireAngleBack, DriftCell_WireAngleFront, fElectronCut, fGammaCut, fPositronCut, fRegGasDet, G10Frame_BorderWidthInX, G10Frame_BorderWidthInY, G10Frame_InnerLength, G10Frame_InnerWidth, G10Frame_OuterLength, G10Frame_OuterWidth, G10Frame_Thickness, QweakSimMaterial::GetInstance(), MeanTrackAngle, myRotator, pMaterial, Rotation_VDC_MasterContainer, SetVDC_BackVDC_CenterPosition(), SetVDC_DriftCell_MasterContainer_CenterPosition(), VDC_AluBottomFrame_Physical, VDC_AluFrame_Logical, VDC_AluFrame_VisAtt, VDC_AluLayer_Thickness, VDC_AluTopFrame_Physical, VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, VDC_DriftCell_MasterContainer_ZPos, VDC_DriftCellBack_Logical, VDC_DriftCellBack_Physical, VDC_DriftCellBack_Solid, VDC_DriftCellBack_VisAtt, VDC_DriftCellBackContainer_Logical, VDC_DriftCellBackContainer_Physical, VDC_DriftCellBackContainer_VisAtt, VDC_DriftCellFront_Logical, VDC_DriftCellFront_Physical, VDC_DriftCellFront_Solid, VDC_DriftCellFront_VisAtt, VDC_DriftCellFrontContainer_Logical, VDC_DriftCellFrontContainer_Physical, VDC_DriftCellFrontContainer_VisAtt, VDC_DriftCellMasterContainer_Logical, VDC_DriftCellMasterContainer_Physical, VDC_FrontBackDistance, VDC_G10Frame_Logical, VDC_G10Frame_Physical, VDC_G10Frame_VisAtt, VDC_MasterContainer_Logical, VDC_MasterContainer_VisAtt, VDC_MasterContainerBack_Physical, VDC_MasterContainerFront_Physical, VDC_Messenger, VDC_MylarFoil_Thickness, VDC_RotationAngleInPhi, VDC_SubContainer_Logical, VDC_SubContainer_Physical, VDC_SubContainer_VisAtt, VDC_UPlane_Physical, VDC_VPlane_Physical, and VDC_WirePlane_Logical.

43 {
44  G4cout << G4endl << "###### Calling QweakSimVDC::QweakVDC() " << G4endl << G4endl;
45 
46  //===============================
47  // cuts for G4Region and PAIModel
48  //===============================
49  fGammaCut = 1*mm;
50  fElectronCut = 1*mm;
51  fPositronCut = 1*mm;
52 
53  fRegGasDet = NULL;
54 
55  //========================
56  // DriftCell Array setup
57  //=======================
58 
60  //VDC_DriftCellMasterContainer_Physical = NULL;
61 
64 
67 
71 
75 
80 
81 
82 //QweakSimVDC_DriftCellSD::SetNumberOfDriftCellsPerPlane(401);
83 
84  // define target geometry values
85  G10Frame_Thickness = 0.5*2.54*cm;
86  G10Frame_BorderWidthInX = 15.0*cm;
87  G10Frame_BorderWidthInY = 15.0*cm;
88  G10Frame_InnerLength = 210.0*cm; // 78 inch
89  G10Frame_InnerWidth = 50.0*cm; // 18 inch
90 
93 
94 
95  AluFrame_Thickness = 0.5*2.54*cm;
96  AluFrame_OuterLength = 240.0*cm; // to be checked with SW
97  AluFrame_OuterWidth = 120.0*cm; // to be checked with SW
98  AluFrame_InnerLength = 210.0*cm;
99  AluFrame_InnerWidth = 50.0*cm;
100 
101  VDC_CenterFront_XPos.resize(2,0);
102  VDC_CenterFront_YPos.resize(2,0);
103  VDC_CenterFront_ZPos.resize(2,0);
104  VDC_CenterBack_XPos.resize(2,0);
105  VDC_CenterBack_YPos.resize(2,0);
106  VDC_CenterBack_ZPos.resize(2,0);
107 
108  MeanTrackAngle = 24.43*degree; //20.57*degree; // also tilting angle of VDcs //
109  VDC_RotationAngleInPhi[0] = 0.0*degree; // normally 0.0*degree = 12 o'clock = octant 1
110  VDC_RotationAngleInPhi[1] = 90*degree; //VDC_RotationAngleInPhi[0] + 180.0*degree;
111 
112  for(int i = 0; i < 2; i++){//temp loop to assign values for package 2. Although same as package 1, will be rotated to different octant.
113  VDC_CenterFront_XPos[i] = 0.0*cm;
114  VDC_CenterFront_YPos[i] = 276.165*cm; // 280.0*cm; // SW for 20.75 deg
115  VDC_CenterFront_ZPos[i] = 443.920*cm; //480.0*cm; // SW: 330.0 +107.0
116  //VDC_CenterFront_ZPos = -700*cm; // for testing
117 
118  VDC_FrontBackDistance = 53.18*cm; // center to center
119  // updated 2012-04-09 by wdconinc based on qwanalysis geometry
121  }
122 
123 
124 
125 
126  // How many drift cells per plane
128  DriftCell_FullWidthOnFrame = 11.1125*mm;
129  DriftCell_FullHeight = 70.0*cm;
130  DriftCell_FullThickness = 2.54*cm;
131  DriftCell_WireAngleFront = 65.57; // 63.43*degree; // (90-26.57)*degree
133 
134  DriftCell_MasterContainer_FullThickness = 6.0*cm; //extral large value
135  DriftCell_MasterContainer_FullHeight = 85.00*cm; //extral large value
136  DriftCell_MasterContainer_FullLength = 600.00*cm; //extral large value
137 
141 
144 
145 
146 
148 
149 
150 
151  //===============
152  // new VDC setup
153  //===============
154 
155  // define Rotation matrix for MasterContainer orientated in MotherVolume
156  //Rotation_VDC_MasterContainer = NULL;
157  //Rotation_VDC_MasterContainer = new G4RotationMatrix();
158 
160  //VDC_MasterContainerFront_Physical = NULL;
161  //VDC_MasterContainerBack_Physical = NULL;
162 
165 
166  VDC_G10Frame_Logical = NULL;
167  VDC_G10Frame_Physical = NULL;
168 
169  VDC_AluFrame_Logical = NULL;
172 
175  VDC_G10Frame_VisAtt = NULL;
176  VDC_AluFrame_VisAtt = NULL;
177 
178  VDC_WirePlane_Logical = NULL;
179  VDC_UPlane_Physical = NULL;
180  VDC_VPlane_Physical = NULL;
181 
182 
183  VDC_AluLayer_Thickness = 1000*angstrom; // 0.1um
184  VDC_MylarFoil_Thickness = 6.25*micrometer; // 1/4*mil
185 
186  //Resizing vectors and setting values to 0
190  Rotation_VDC_MasterContainer.resize(2,0);
191  VDC_Messenger.resize(2,0);
192 
193  // Creates a messenger for each VDC package (0 for Package 1 and 1 for Package 2)
194  for(size_t i = 0; i < VDC_Messenger.size(); i++){
195  VDC_Messenger[i] = new QweakSimVDCMessenger(this, i);
196  VDC_Messenger.at(i)->SetVDCRotator(myRotator);
197  }
198 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
G4double G10Frame_BorderWidthInX
Definition: QweakSimVDC.hh:191
G4double G10Frame_OuterLength
Definition: QweakSimVDC.hh:187
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248
G4VPhysicalVolume * VDC_G10Frame_Physical
Definition: QweakSimVDC.hh:255
G4double VDC_AluLayer_Thickness
Definition: QweakSimVDC.hh:241
G4VPhysicalVolume * VDC_DriftCellBack_Physical
Definition: QweakSimVDC.hh:182
G4double G10Frame_InnerLength
Definition: QweakSimVDC.hh:189
G4VPhysicalVolume * VDC_UPlane_Physical
Definition: QweakSimVDC.hh:267
G4double DriftCell_MasterContainer_FullThickness
Definition: QweakSimVDC.hh:224
QweakSimVDCRotator * myRotator
Definition: QweakSimVDC.hh:142
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
G4double AluFrame_OuterLength
Definition: QweakSimVDC.hh:195
static QweakSimMaterial * GetInstance()
G4VPhysicalVolume * VDC_DriftCellFront_Physical
Definition: QweakSimVDC.hh:178
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
G4double AluFrame_InnerWidth
Definition: QweakSimVDC.hh:198
G4VisAttributes * VDC_SubContainer_VisAtt
Definition: QweakSimVDC.hh:282
G4int DriftCell_NumberPerPlane
Definition: QweakSimVDC.hh:215
G4double AluFrame_OuterWidth
Definition: QweakSimVDC.hh:196
G4double DriftCell_MasterContainer_FullLength
Definition: QweakSimVDC.hh:222
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
std::vector< G4RotationMatrix * > Rotation_VDC_MasterContainer
Definition: QweakSimVDC.hh:154
G4double MeanTrackAngle
Definition: QweakSimVDC.hh:157
G4double G10Frame_Thickness
Definition: QweakSimVDC.hh:186
G4VisAttributes * VDC_DriftCellBack_VisAtt
Definition: QweakSimVDC.hh:230
std::vector< QweakSimVDCMessenger * > VDC_Messenger
Definition: QweakSimVDC.hh:161
G4LogicalVolume * VDC_WirePlane_Logical
Definition: QweakSimVDC.hh:266
G4double DriftCell_MasterContainer_FullHeight
Definition: QweakSimVDC.hh:223
G4double DriftCell_WireAngleBack
Definition: QweakSimVDC.hh:220
G4VisAttributes * VDC_G10Frame_VisAtt
Definition: QweakSimVDC.hh:283
G4double AluFrame_InnerLength
Definition: QweakSimVDC.hh:197
G4LogicalVolume * VDC_G10Frame_Logical
Definition: QweakSimVDC.hh:254
void SetVDC_DriftCell_MasterContainer_CenterPosition(G4int pkg)
G4double fGammaCut
Definition: QweakSimVDC.hh:296
G4double AluFrame_Thickness
Definition: QweakSimVDC.hh:194
G4LogicalVolume * VDC_SubContainer_Logical
Definition: QweakSimVDC.hh:250
G4LogicalVolume * VDC_DriftCellMasterContainer_Logical
Definition: QweakSimVDC.hh:167
G4LogicalVolume * VDC_AluFrame_Logical
Definition: QweakSimVDC.hh:258
void SetVDC_BackVDC_CenterPosition(G4int pkg)
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
G4VisAttributes * VDC_DriftCellFrontContainer_VisAtt
Definition: QweakSimVDC.hh:227
G4LogicalVolume * VDC_DriftCellBack_Logical
Definition: QweakSimVDC.hh:181
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
G4Region * fRegGasDet
Definition: QweakSimVDC.hh:299
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
G4double DriftCell_FullWidthOnFrame
Definition: QweakSimVDC.hh:216
G4double G10Frame_BorderWidthInY
Definition: QweakSimVDC.hh:192
G4VPhysicalVolume * VDC_AluBottomFrame_Physical
Definition: QweakSimVDC.hh:260
G4Para * VDC_DriftCellBack_Solid
Definition: QweakSimVDC.hh:180
G4LogicalVolume * VDC_DriftCellFrontContainer_Logical
Definition: QweakSimVDC.hh:170
G4double fPositronCut
Definition: QweakSimVDC.hh:298
G4double DriftCell_FullHeight
Definition: QweakSimVDC.hh:217
G4LogicalVolume * VDC_MasterContainer_Logical
Definition: QweakSimVDC.hh:246
G4VPhysicalVolume * VDC_VPlane_Physical
Definition: QweakSimVDC.hh:268
QweakSimMaterial * pMaterial
Definition: QweakSimVDC.hh:163
G4VPhysicalVolume * VDC_DriftCellFrontContainer_Physical
Definition: QweakSimVDC.hh:171
G4double VDC_RotationAngleInPhi[2]
Definition: QweakSimVDC.hh:158
G4double G10Frame_InnerWidth
Definition: QweakSimVDC.hh:190
G4VPhysicalVolume * VDC_AluTopFrame_Physical
Definition: QweakSimVDC.hh:259
G4double DriftCell_WireAngleFront
Definition: QweakSimVDC.hh:219
G4double VDC_MylarFoil_Thickness
Definition: QweakSimVDC.hh:242
G4VPhysicalVolume * VDC_DriftCellBackContainer_Physical
Definition: QweakSimVDC.hh:174
G4double VDC_FrontBackDistance
Definition: QweakSimVDC.hh:208
G4LogicalVolume * VDC_DriftCellBackContainer_Logical
Definition: QweakSimVDC.hh:173
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
G4double G10Frame_OuterWidth
Definition: QweakSimVDC.hh:188
G4VisAttributes * VDC_DriftCellBackContainer_VisAtt
Definition: QweakSimVDC.hh:228
G4VisAttributes * VDC_MasterContainer_VisAtt
Definition: QweakSimVDC.hh:281
G4double DriftCell_FullThickness
Definition: QweakSimVDC.hh:218
Scans the input file for /VDC/xyz commands.
G4Para * VDC_DriftCellFront_Solid
Definition: QweakSimVDC.hh:176
G4double fElectronCut
Definition: QweakSimVDC.hh:297
G4VisAttributes * VDC_DriftCellFront_VisAtt
Definition: QweakSimVDC.hh:229
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
G4VisAttributes * VDC_AluFrame_VisAtt
Definition: QweakSimVDC.hh:284
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204
G4VPhysicalVolume * VDC_SubContainer_Physical
Definition: QweakSimVDC.hh:251
G4LogicalVolume * VDC_DriftCellFront_Logical
Definition: QweakSimVDC.hh:177

+ Here is the call graph for this function:

QweakSimVDC::~QweakSimVDC ( )

Definition at line 201 of file QweakSimVDC.cc.

References VDC_DriftCellBack_VisAtt, VDC_DriftCellBackContainer_VisAtt, VDC_DriftCellFront_VisAtt, VDC_DriftCellFrontContainer_VisAtt, VDC_DriftCellMasterContainer_VisAtt, and VDC_WirePlane_VisAtt.

202 {
203  //if (driftChamberSD) delete driftChamberSD;
204  //if (driftCellFrontSD) delete driftCellFrontSD;
205  //if (driftCellBackSD) delete driftCellBackSD;
206 
212 
214 }
G4VisAttributes * VDC_DriftCellBack_VisAtt
Definition: QweakSimVDC.hh:230
G4VisAttributes * VDC_DriftCellFrontContainer_VisAtt
Definition: QweakSimVDC.hh:227
G4VisAttributes * VDC_WirePlane_VisAtt
Definition: QweakSimVDC.hh:291
G4VisAttributes * VDC_DriftCellBackContainer_VisAtt
Definition: QweakSimVDC.hh:228
G4VisAttributes * VDC_DriftCellMasterContainer_VisAtt
Definition: QweakSimVDC.hh:226
G4VisAttributes * VDC_DriftCellFront_VisAtt
Definition: QweakSimVDC.hh:229

Member Function Documentation

void QweakSimVDC::ConstructComponent ( G4VPhysicalVolume *  MotherVolume)

Definition at line 218 of file QweakSimVDC.cc.

References AluFrame_InnerLength, AluFrame_InnerWidth, AluFrame_OuterLength, AluFrame_OuterWidth, AluFrame_Thickness, DriftCell_FullHeight, DriftCell_FullThickness, DriftCell_FullWidthOnFrame, DriftCell_MasterContainer_FullHeight, DriftCell_MasterContainer_FullLength, DriftCell_MasterContainer_FullThickness, DriftCell_NumberPerPlane, DriftCell_WireAngleBack, DriftCell_WireAngleFront, driftCellBackSD, driftCellFrontSD, driftChamberSD, fElectronCut, fEnablePAI, fGammaCut, fPositronCut, fRegGasDet, G10Frame_InnerLength, G10Frame_InnerWidth, G10Frame_OuterLength, G10Frame_OuterWidth, G10Frame_Thickness, QweakSimMaterial::GetMaterial(), PlaceVDC_DriftCellMasterContainers(), PlaceVDC_MasterContainers(), pMaterial, pSurfChk, theMotherPV, VDC_AluBottomFrame_Physical, VDC_AluFrame_Logical, VDC_AluFrame_Solid, VDC_AluFrame_VisAtt, VDC_AluLayer_Logical, VDC_AluLayer_Thickness, VDC_AluLayer_VisAtt, VDC_AluTopFrame_Physical, VDC_AM_FoilContainer_Logical, VDC_AM_FoilContainer_VisAtt, VDC_AMA_FoilContainer_Logical, VDC_AMA_FoilContainer_VisAtt, VDC_BottomGasFoilContainer_Physical, VDC_BottomHVFoilContainer_Physical, VDC_CenterHVFoilContainer_Physical, VDC_DriftCellBack_Logical, VDC_DriftCellBack_Physical, VDC_DriftCellBack_Solid, VDC_DriftCellBack_VisAtt, VDC_DriftCellBackContainer_Logical, VDC_DriftCellBackContainer_Physical, VDC_DriftCellBackContainer_VisAtt, VDC_DriftCellFront_Logical, VDC_DriftCellFront_Physical, VDC_DriftCellFront_Solid, VDC_DriftCellFront_VisAtt, VDC_DriftCellFrontContainer_Logical, VDC_DriftCellFrontContainer_Physical, VDC_DriftCellFrontContainer_VisAtt, VDC_DriftCellMasterContainer_Logical, VDC_DriftCellMasterContainer_VisAtt, VDC_G10Frame_Logical, VDC_G10Frame_Physical, VDC_G10Frame_Solid, VDC_G10Frame_VisAtt, VDC_MA_FoilContainer_Logical, VDC_MA_FoilContainer_VisAtt, VDC_MasterContainer_Logical, VDC_MasterContainer_VisAtt, VDC_MylarFoil_Logical, VDC_MylarFoil_Thickness, VDC_MylarFoil_VisAtt, VDC_SubContainer_Logical, VDC_SubContainer_Physical, VDC_SubContainer_VisAtt, VDC_TopGasFoilContainer_Physical, VDC_TopHVFoilContainer_Physical, VDC_UPlane_Physical, VDC_VPlane_Physical, VDC_WirePlane_Logical, and VDC_WirePlane_VisAtt.

Referenced by QweakSimDetectorConstruction::ConstructQweak().

219 {
220  G4cout << G4endl << "###### Calling QweakSimVDC::ConstructComponent() " << G4endl << G4endl;
221  theMotherPV = MotherVolume;
222 
223  // assign material-
224 
225  G4Material* VDC_DriftCell_Material = pMaterial->GetMaterial("Vacuum");
226  G4Material* VDC_DriftCellContainer_Material = pMaterial->GetMaterial("Vacuum");
227 
228  G4Material* VDC_MasterContainer_Material = pMaterial->GetMaterial("Air");
229  G4Material* VDC_SubContainer_Material = pMaterial->GetMaterial("Ar-C2H6_40-60");
230  G4Material* VDC_G10Frame_Material = pMaterial->GetMaterial("NemaG10");
231  G4Material* VDC_AluFrame_Material = pMaterial->GetMaterial("Aluminum");
232 
233  G4Material* VDC_WirePlane_Material = pMaterial->GetMaterial("Vacuum");
234  G4Material* VDC_AluLayer_Material = pMaterial->GetMaterial("Aluminum");
235  G4Material* VDC_MylarFoil_Material = pMaterial->GetMaterial("Mylar");
236 
237  //==========================================================================================================
238 
239  //============================
240  // new code of the VDC setup
241  //============================
242 
243 
244  //----------------------------
245  // Define VDC MasterContainer
246  //----------------------------
247 
248  // define MasterContainer
249  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MasterContainer_Solid" << G4endl << G4endl;
250 
251  G4double NumberOfG10FramesInsideVDC = 8;
252  G4double NumberOfAluFramesInsideVDC = 2;
253 
254 
255  G4Box* VDC_MasterContainer_Solid = new G4Box("VDC_MasterContainer_Sol",
256  0.5* AluFrame_OuterLength + 1*mm,
257  0.5* AluFrame_OuterWidth + 1*mm,
258  0.5* (G10Frame_Thickness*NumberOfG10FramesInsideVDC+ AluFrame_Thickness*NumberOfAluFramesInsideVDC) + 1*mm);
259 
260  // define VDC_MasterContainer_Logical volume of drift chamber container
261  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MasterContainer_Logical " << G4endl << G4endl;
262 
263  VDC_MasterContainer_Logical = new G4LogicalVolume(VDC_MasterContainer_Solid,
264  VDC_MasterContainer_Material,
265  "VDC_MasterContainer_Log",
266  0,0,0);
267 
268 
269  PlaceVDC_MasterContainers(); //Places physical volumes of VDCs
270  //-----------------------
271  // Define Stesalit frame
272  //-----------------------
273 
274  //===============================================================================
275  // Definition of the VDC Stesalit Frame ( symbolizes the stack of real frames )
276  //===============================================================================
277 
278  // define outer frame solid
279  G4cout << G4endl << "###### QweakSimVDC: Define VDC_G10OuterFrame_Solid" << G4endl << G4endl;
280 
281  G4Box* VDC_G10OuterFrame_Solid = new G4Box("VDC_G10OuterFrame_Sol",
283  0.5* G10Frame_OuterWidth,
284  0.5* G10Frame_Thickness*NumberOfG10FramesInsideVDC);
285 
286  // define inner frame solid
287  G4cout << G4endl << "###### QweakSimVDC: Define VDC_G10InnerFrame_Solid" << G4endl << G4endl;
288 
289  G4Box* VDC_G10InnerFrame_Solid = new G4Box("VDC_G10InnerFrame_Sol",
291  0.5* G10Frame_InnerWidth,
292  0.5* G10Frame_Thickness*NumberOfG10FramesInsideVDC + 0.1*mm);
293 
294 
295  // create frame by subtracting outer framebox from inner framebox
296  G4cout << G4endl << "###### QweakSimVDC: Define VDC_G10Frame_Solid" << G4endl << G4endl;
297 
298  VDC_G10Frame_Solid = new G4SubtractionSolid("VDC_G10Frame_Solid",
299  VDC_G10OuterFrame_Solid,
300  VDC_G10InnerFrame_Solid);
301 
302 
303  G4cout << G4endl << "###### QweakSimVDC: Define VDC_G10Frame_Logical" << G4endl << G4endl;
304  VDC_G10Frame_Logical = new G4LogicalVolume(VDC_G10Frame_Solid,
305  VDC_G10Frame_Material,
306  "VDC_G10Frame_Log",
307  0,0,0);
308 
309 
310  // define the position of the Frame within the VDC MasterContainer: put it in the center of MasterContainer
311  G4ThreeVector position_G10Frame = G4ThreeVector(0. , 0. , 0.);
312 
313  G4cout << G4endl << "###### QweakSimVDC: Define VDC_G10Frame_Physical" << G4endl << G4endl;
314 
315  VDC_G10Frame_Physical = new G4PVPlacement(0, // no rotation matrix needed
316  position_G10Frame,
318  "VDC_G10Frame_Physical",
320  0,
321  0,
322  pSurfChk); //copy number: 0
323 
324 
325 
326 
327  //-----------------------
328  // Define Aluminum frame
329  //-----------------------
330 
331  //=====================================================================================
332  // Definition of the VDC Alu Frame ( symbolizes the top and bottom alu support frames)
333  //=====================================================================================
334 
335  // define outer frame solid
336  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluOuterFrame_Solid" << G4endl << G4endl;
337 
338  G4Box* VDC_AluOuterFrame_Solid = new G4Box("VDC_AluOuterFrame_Sol",
340  0.5* AluFrame_OuterWidth,
341  0.5* AluFrame_Thickness);
342 
343  // define inner frame solid
344  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluInnerFrame_Solid" << G4endl << G4endl;
345 
346  G4Box* VDC_AluInnerFrame_Solid = new G4Box("VDC_AluInnerFrame_Sol",
348  0.5* AluFrame_InnerWidth,
349  0.5* AluFrame_Thickness + 0.1*mm);
350 
351 
352  // create frame by subtracting outer framebox from inner framebox
353  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluFrame_Solid" << G4endl << G4endl;
354 
355  VDC_AluFrame_Solid = new G4SubtractionSolid("VDC_AluFrame_Solid",
356  VDC_AluOuterFrame_Solid,
357  VDC_AluInnerFrame_Solid);
358 
359 
360  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluFrame_Logical" << G4endl << G4endl;
361 
362  VDC_AluFrame_Logical = new G4LogicalVolume(VDC_AluFrame_Solid,
363  VDC_AluFrame_Material,
364  "VDC_AluFrame_Log",
365  0,0,0);
366 
367 
368  // define the position of the Frame within the VDC MasterContainer: put it in the center of MasterContainer
369  // AluTopFrame = downstream side, looking to beam dunp
370  // AluBottomFrame = upstream side, looking to target
371 
372  G4ThreeVector position_AluTopFrame = G4ThreeVector(0. , 0. , 0.5*(G10Frame_Thickness*NumberOfG10FramesInsideVDC + AluFrame_Thickness));
373  G4ThreeVector position_AluBottomFrame = G4ThreeVector(0. , 0. , -0.5*(G10Frame_Thickness*NumberOfG10FramesInsideVDC + AluFrame_Thickness));
374 
375  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluTopFrame_Physical" << G4endl << G4endl;
376 
377  VDC_AluTopFrame_Physical = new G4PVPlacement(0, // no rotation matrix needed
378  position_AluTopFrame,
380  "VDC_AluTopFrame_Physical",
382  0,
383  0,
384  pSurfChk); //copy number: 0
385 
386  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluBottomFrame_Physical" << G4endl << G4endl;
387 
388  VDC_AluBottomFrame_Physical = new G4PVPlacement(0, // no rotation matrix needed
389  position_AluBottomFrame,
391  "VDC_AluBottomFrame_Physical",
393  0,
394  1,
395  pSurfChk); //copy number: 1 , to be checked if necessary
396 
397 
398 
399  //======================================================================================
400  // Definition of the VDC SubContainer holding the stack of foil planes and readout plane
401  //======================================================================================
402 
403 
404  // define outer frame solid
405  G4cout << G4endl << "###### QweakSimVDC: Define VDC_SubContainer_Solid" << G4endl << G4endl;
406 
407  G4Box* VDC_SubContainer_Solid = new G4Box("VDC_OuterFrame_Sol",
408  0.5* G10Frame_InnerLength - 100.0*micrometer, // X
409  0.5* G10Frame_InnerWidth - 100.0*micrometer, // Y
410  0.5* G10Frame_Thickness*NumberOfG10FramesInsideVDC + 100.0*micrometer); // Z
411 
412  G4cout << G4endl << "###### QweakSimVDC: Define VDC_SubContainer_Logical" << G4endl << G4endl;
413 
414  VDC_SubContainer_Logical = new G4LogicalVolume(VDC_SubContainer_Solid,
415  VDC_SubContainer_Material,
416  "VDC_SubContainer_Log",
417  0,0,0);
418 
419 
420  // define the position of the SubContainer within the VDC MasterContainer: put it in the center
421  G4ThreeVector position_SubContainer = G4ThreeVector(0. , 0. , 0.);
422 
423  G4cout << G4endl << "###### QweakSimVDC: Define VDC_SubContainer_Physical" << G4endl << G4endl;
424 
425  VDC_SubContainer_Physical = new G4PVPlacement(0, // no rotation matrix needed
426  position_SubContainer,
428  "VDC_SubContainer_Physical",
430  0,
431  0,
432  pSurfChk); //copy number: 0
433 
434 
435 
436  //====================================================================
437  // Definition of the VDC Wire Plane
438  //====================================================================
439 
440  // define wire plane solid
441  G4cout << G4endl << "###### QweakSimVDC: Define VDC_WirePlane_Solid" << G4endl << G4endl;
442 
443  G4Box* VDC_WirePlane_Solid = new G4Box("VDC_WirePlane_Sol",
444  VDC_SubContainer_Solid->GetXHalfLength() -1.0*micrometer,
445  VDC_SubContainer_Solid->GetYHalfLength() -1.0*micrometer,
446  0.5* 10.0*micrometer);
447 
448  // define wire plane logical
449  G4cout << G4endl << "###### QweakSimVDC: Define VDC_WirePlane_Logical" << G4endl << G4endl;
450 
451  VDC_WirePlane_Logical = new G4LogicalVolume(VDC_WirePlane_Solid,
452  VDC_WirePlane_Material,
453  "VDC_WirePlane_Log",
454  0,0,0);
455 
456  // define wire planes physical
457  G4cout << G4endl << "###### QweakSimVDC: Define VDC_WirePlane_Physical" << G4endl << G4endl;
458 
459 
460  // place two VDC_Plane_Logical alias U-Plane and V-Plane into the VDC SubContainer
461 
462  // define VDC Plane position relativ to container
463  // U Plane = downstream side , looking to beam dunp
464  // V Plane = upstream side , looking to target
465 
466  G4ThreeVector position_Uplane = G4ThreeVector( 0.0*cm, 0.0*cm, -1.0 * G10Frame_Thickness);
467  G4ThreeVector position_Vplane = G4ThreeVector( 0.0*cm, 0.0*cm, G10Frame_Thickness);
468 
469  VDC_UPlane_Physical = new G4PVPlacement(0,
470  position_Uplane,
472  "VDC_UPlane_Physical",
474  0,
475  0,
476  pSurfChk); //copy number: 0
477 
478  VDC_VPlane_Physical = new G4PVPlacement(0,
479  position_Vplane,
481  "VDC_VPlane_Physical",
483  0,
484  1,
485  pSurfChk); //copy number: 1
486 
487 
488 
489  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
490 
491  //====================================================================
492  // Definition of the VDC Foils
493  //====================================================================
494 
495  //============================================
496  // Define a 6.25 micrometer thick Mylar foil
497  //============================================
498 
499  G4Box* VDC_MylarFoil_Solid = new G4Box("VDC_MylarFoil_Sol",
500  VDC_SubContainer_Solid->GetXHalfLength() -20.0*micrometer ,
501  VDC_SubContainer_Solid->GetYHalfLength() -20.0*micrometer,
503 
504  // define foil logical
505  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MylarFoil_Logical" << G4endl << G4endl;
506 
507  VDC_MylarFoil_Logical = new G4LogicalVolume(VDC_MylarFoil_Solid,
508  VDC_MylarFoil_Material,
509  "VDC_MylarFoil_Log",
510  0,0,0);
511 
512 
513  //=========================================================
514  // Define a 1000 Angstrom (= 0.1 micrometer) thick Alu layer
515  //=========================================================
516 
517  // define solid
518  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluLayer_Solid" << G4endl << G4endl;
519 
520  G4Box* VDC_AluLayer_Solid = new G4Box("VDC_AluLayer_Sol",
521  VDC_SubContainer_Solid->GetXHalfLength() -20.0*micrometer,
522  VDC_SubContainer_Solid->GetYHalfLength() -20.0*micrometer,
524 
525  // define logical
526  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluFoil_Logical" << G4endl << G4endl;
527 
528  VDC_AluLayer_Logical = new G4LogicalVolume(VDC_AluLayer_Solid,
529  VDC_AluLayer_Material,
530  "VDC_AluLayer_Log",
531  0,0,0);
532 
533 
534  //====================================================================================================
535  // create the double sided foil container : Alu-Mylar-Alu == AMA
536  //
537  // (define a container holding a 6.25um thick Mylar foil coated with 0.1um Aluminum on each side.
538  //====================================================================================================
539 
540 
541  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AMA_FoilContainer_Solid" << G4endl << G4endl;
542 
543  G4Box* VDC_AMA_FoilContainer_Solid = new G4Box("VDC_AMA_FoilContainer_Sol",
544  VDC_SubContainer_Solid->GetXHalfLength() -10.0*micrometer,
545  VDC_SubContainer_Solid->GetYHalfLength() -10.0*micrometer,
546  0.5* (VDC_MylarFoil_Thickness + 2*VDC_AluLayer_Thickness) + 10.0*micrometer );
547 
548  // define foil logical
549  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AMA_FoilContainer_Logical" << G4endl << G4endl;
550 
551  VDC_AMA_FoilContainer_Logical = new G4LogicalVolume(VDC_AMA_FoilContainer_Solid,
552  VDC_SubContainer_Material,
553  "VDC_AMA_FoilContainer_Log",
554  0,0,0);
555 
556 
557  //========================================================================
558  // Place the 6.25 micrometer thick Mylar foil inside VDC_AMA_FoilContainer
559  //========================================================================
560 
561 
562  // place 6.25um thick Mylar foil into VDC_DoubleSidedFoilContainer: center
563  new G4PVPlacement(0,
564  G4ThreeVector(0. , 0. , 0. ),
566  "VDC_MylarFoil_Physical",
568  0,
569  0,
570  pSurfChk); //copy number 0
571 
572 
573  //=========================================================================================
574  // Place the 1000 Angstrom (= 0.1 micrometer) thick Alu layers inside VDC_AMA_FoilContainer
575  //=========================================================================================
576 
577  // define physical
578  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AluLayer_Physical" << G4endl << G4endl;
579 
580  // Z Location of the AluLayer within VDC_AMA_FoilContainer:
581  // (first go to border of box and go half the alu layer thickness back)
582 
583  G4double _LocalPostionInZ_TopAluLayer =
585 
586  G4double _LocalPostionInZ_BottomAluLayer =
588 
589 
590  G4cout << G4endl << "###### QweakSimVDC: Place Top AluLayer inside VDC_AMA_FoilContainer_Logical" << G4endl << G4endl;
591  // place alu top layer
592  new G4PVPlacement(0,
593  G4ThreeVector(0. , 0. , _LocalPostionInZ_TopAluLayer ),
595  "VDC_TopAluLayer_Physical",
597  0,
598  0,
599  pSurfChk); //copy number for top layer
600 
601  G4cout << G4endl << "###### QweakSimVDC: Place Bottom AluLayer inside VDC_AMA_FoilContainer_Logical" << G4endl << G4endl;
602  // place alu bottom layer
603  new G4PVPlacement(0,
604  G4ThreeVector(0. , 0. , _LocalPostionInZ_BottomAluLayer ),
606  "VDC_BottomAluLayer_Physical",
608  0,
609  1,
610  pSurfChk); //copy number for bottom layer
611 
612 
613 
614  //====================================================================================================
615  // create the "AM" sided foil container: Alu-Mylar (alias "AM")
616  //
617  // (define a container holding a 6.25um thick Mylar foil coated with 0.1um Aluminum on top side.
618  //====================================================================================================
619 
620 
621  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AM_FoilContainer_Solid" << G4endl << G4endl;
622 
623  G4Box* VDC_AM_FoilContainer_Solid = new G4Box("VDC_AM_FoilContainer_Sol",
624  VDC_SubContainer_Solid->GetXHalfLength() -10.0*micrometer,
625  VDC_SubContainer_Solid->GetYHalfLength() -10.0*micrometer,
627 
628  // define foil logical
629  G4cout << G4endl << "###### QweakSimVDC: Define VDC_AM_FoilContainer_Logical" << G4endl << G4endl;
630 
631  VDC_AM_FoilContainer_Logical = new G4LogicalVolume(VDC_AM_FoilContainer_Solid,
632  VDC_SubContainer_Material,
633  "VDC_AM_FoilContainer_Log",
634  0,0,0);
635 
636 
637  //=======================================================================
638  // Place the 6.25 micrometer thick Mylar foil inside VDC_AM_FoilContainer
639  //=======================================================================
640 
641  G4double position_MylarFoilInsideAMContainer_Z = -1*VDC_AM_FoilContainer_Solid->GetZHalfLength() + VDC_MylarFoil_Solid->GetZHalfLength();
642 
643  G4cout << G4endl << "###### QweakSimVDC: Place Mylar inside VDC_AM_FoilContainer_Logical" << G4endl << G4endl;
644 
645  new G4PVPlacement(0,
646  G4ThreeVector(0. , 0. , position_MylarFoilInsideAMContainer_Z ),
648  "VDC_MylarFoil_Physical",
650  0,
651  0,
652  pSurfChk); //copy number
653 
654 
655  //=======================================================================================
656  // Place the 1000 Angstrom (= 0.1 micrometer) thick Alu layer inside VDC_AM_FoilContainer
657  //=======================================================================================
658 
659  G4double position_AluLayerInsideAMContainer_Z = +1*VDC_AM_FoilContainer_Solid->GetZHalfLength() - VDC_AluLayer_Solid->GetZHalfLength();
660 
661  G4cout << G4endl << "###### QweakSimVDC: Place AluLayer inside VDC_AM_FoilContainer_Logical" << G4endl << G4endl;
662 
663  new G4PVPlacement(0,
664  G4ThreeVector(0. , 0. , position_AluLayerInsideAMContainer_Z),
666  "VDC_TopAluLayer_Physical",
668  0,
669  0,
670  pSurfChk); //copy number
671 
672 
673  //====================================================================================================
674  // create the "MA" sided foil container: Mylar-Alu (alias "MA")
675  //
676  // (define a container holding a 6.25um thick Mylar foil coated with 0.1um Aluminum on bottom side.
677  //====================================================================================================
678 
679 
680  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MA_FoilContainer_Solid" << G4endl << G4endl;
681 
682  G4Box* VDC_MA_FoilContainer_Solid = new G4Box("VDC_MA_FoilContainer_Sol",
683  VDC_SubContainer_Solid->GetXHalfLength() -10.0*micrometer,
684  VDC_SubContainer_Solid->GetYHalfLength() -10.0*micrometer,
686 
687  // define foil logical
688  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MA_FoilContainer_Logical" << G4endl << G4endl;
689 
690  VDC_MA_FoilContainer_Logical = new G4LogicalVolume(VDC_MA_FoilContainer_Solid,
691  VDC_SubContainer_Material,
692  "VDC_MA_FoilContainer_Log",
693  0,0,0);
694 
695 
696  //=======================================================================
697  // Place the 6.25 micrometer thick Mylar foil inside VDC_MA_FoilContainer
698  //=======================================================================
699 
700  G4double position_MylarFoilInsideMAContainer_Z = 1*VDC_MA_FoilContainer_Solid->GetZHalfLength() - VDC_MylarFoil_Solid->GetZHalfLength();
701 
702  G4cout << G4endl << "###### QweakSimVDC: Place Mylar inside VDC_MA_FoilContainer_Logical" << G4endl << G4endl;
703 
704  new G4PVPlacement(0,
705  G4ThreeVector(0. , 0. , position_MylarFoilInsideMAContainer_Z ),
707  "VDC_MylarFoil_Physical",
709  0,
710  0,
711  pSurfChk); //copy number
712 
713 
714  //=======================================================================================
715  // Place the 1000 Angstrom (= 0.1 micrometer) thick Alu layer inside VDC_MA_FoilContainer
716  //=======================================================================================
717 
718  G4double position_AluLayerInsideMAContainer_Z = -1*VDC_MA_FoilContainer_Solid->GetZHalfLength() + VDC_AluLayer_Solid->GetZHalfLength();
719 
720  G4cout << G4endl << "###### QweakSimVDC: Place AluLayer inside VDC_MA_FoilContainer_Logical" << G4endl << G4endl;
721 
722  new G4PVPlacement(0,
723  G4ThreeVector(0. , 0. , position_AluLayerInsideMAContainer_Z),
725  "VDC_TopAluLayer_Physical",
727  0,
728  0,
729  pSurfChk); //copy number
730 
731  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
732 
733  //----------------------------------------------------------------------------
734  //
735  // Final assembly of AM, MA, and AMA FoilContainers within VDC_SubContainer
736  //
737  //----------------------------------------------------------------------------
738  //
739  // Foil Stack orientation (AM=Alu-Mylar, MA=Mylar-Alu, AMA=Alu-Mylar-Alu)
740  //
741  // Single sided gas foil : AM , zpos= 4*G10Frame_Thickness
742  // Single sided HV foil : MA , zpos= 2*G10Frame_Thickness
743  // (U-Plane)
744  // Double sided HV foil : AMA , zpos= 0*G10Frame_Thickness
745  // (V-Plane)
746  // Single sided HV foil : AM , zpos= -2*G10Frame_Thickness
747  // Single sided gas foil : MA , zpos= -4*G10Frame_Thickness
748  //
749  //---------------------------------------------------------------------------
750 
751  G4cout << G4endl << "###### QweakSimVDC: Place VDC_TopGasFoilContainer_Physical inside VDC_SubContainer_Physical" << G4endl << G4endl;
752  //
754  new G4PVPlacement(0,
755  G4ThreeVector(0. , 0. , 4*G10Frame_Thickness ),
756  "VDC_TopGasFoilContainer_Physical",
759  false,
760  0,
761  pSurfChk);
762 
763  G4cout << G4endl << "###### QweakSimVDC: Place VDC_TopHVFoilContainer_Physical inside VDC_SubContainer_Physical" << G4endl << G4endl;
764  //
766  new G4PVPlacement(0,
767  G4ThreeVector(0. , 0. , 2*G10Frame_Thickness ),
768  "VDC_TopHVFoilContainer_Physical",
771  false,
772  0,
773  pSurfChk);
774 
775 
776  G4cout << G4endl << "###### QweakSimVDC: Place VDC_CenterHVFoilContainer_Physical inside VDC_SubContainer_Physical" << G4endl << G4endl;
777  //
779  new G4PVPlacement(0,
780  G4ThreeVector(0. , 0. , 0. ),
781  "VDC_CenterHVFoilContainer_Physical",
784  false,
785  0,
786  pSurfChk);
787 
788  G4cout << G4endl << "###### QweakSimVDC: PlaceVDC_BottomHVFoilContainer_Physical inside VDC_SubContainer_Physical" << G4endl << G4endl;
789  //
791  new G4PVPlacement(0,
792  G4ThreeVector(0. , 0. , -2*G10Frame_Thickness ),
793  "VDC_TopHVFoilContainer_Physical",
796  false,
797  1,
798  pSurfChk); // copy number 1 (second VDC_AM_FoilContainer_Logical placement inside SubContainer)
799 
800  G4cout << G4endl << "###### QweakSimVDC: Place VDC_BottomGasFoilContainer_Physical inside VDC_SubContainer_Physical" << G4endl << G4endl;
801  //
803  new G4PVPlacement(0,
804  G4ThreeVector(0. , 0. , -4*G10Frame_Thickness ),
805  "VDC_TopHVFoilContainer_Physical",
808  false,
809  1,
810  pSurfChk); // copy number 1 (second VDC_MA_FoilContainer_Logical placement inside SubContainer)
811 
812  //==========================================================================================================
813 
814 
815 
816  //==========================================================
817  //
818  // Define a master container which hold the
819  // Front+Back Drift cell containers
820  //
821  //==========================================================
822 
823  // | DX1 | <== half width of master container: Dx =DX1+DX2+ FullWidthOnFrame of following DCs
824  // | _|_DX2 DX1 = driftcell_halfheight*tan(wireangle)
825  // | / / / DX2 = driftCell_halfWidthOnFrame
826  // |/ / /
827  // | / /
828  // /|/ /
829  // -------------------------
830  // / /|/
831  // / / |
832  // / / /|
833  // - -
834 
835  // define solid volume of the drift chamber container
836  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellMasteContainer_Solid" << G4endl << G4endl;
837 
838 
839 // G4double myContainerX = 0.5*DriftCell_FullHeight*TMath::Tan( DriftCell_WireAngleFront/degree*TMath::DegToRad())
840 // + 0.5*DriftCell_FullWidthOnFrame
841 // + 0.5*(DriftCell_NumberPerPlane -1)*DriftCell_FullWidthOnFrame +1.0*mm;
842 
843 // G4double myContainerX = 250*cm;
844 
845 
846 
847 
848 // G4cout << "Half Length of DriftCellMasterContainer [cm] = " << myContainerX/cm << G4endl;
849 
850 
851 // G4Box* VDC_DriftCellMasterContainer_Solid = new G4Box("VDC_DriftCellMasterContainer_Solid",
852 // 0.5*DriftCell_FullHeight*TMath::Tan( DriftCell_WireAngleFront
853 // *TMath::RadToDeg())
854 // + 0.5*DriftCell_FullWidthOnFrame
855 // + 0.5*(DriftCell_NumberPerPlane -1)*DriftCell_FullWidthOnFrame +1.0*mm,
856 // 0.5* DriftCell_FullHeight,
857 // 1.0* DriftCell_FullThickness);
858 
859 
860  G4Box* VDC_DriftCellMasterContainer_Solid = new G4Box("VDC_DriftCellMasterContainer_Solid",
864 
865  // define VDC logical volume of drift chamber container
866  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellMasterContainer_Logical " << G4endl << G4endl;
867 
868  VDC_DriftCellMasterContainer_Logical = new G4LogicalVolume(VDC_DriftCellMasterContainer_Solid,
869  VDC_DriftCellContainer_Material,
870  "VDC_DriftCellMasterContainer_Log",
871  0,0,0);
872 
873 
874 
876 
877 
878  //==========================================================
879  //
880  // Front Drift cell container definition
881  //
882  //==========================================================
883 
884 
885  // define solid volume of the drift chamber container
886  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellFrontContainer_Solid" << G4endl << G4endl;
887 
888  G4Box* VDC_DriftCellFrontContainer_Solid = new G4Box("VDC_DriftCellFrontContainer_Solid",
891  0.5* (0.5*DriftCell_MasterContainer_FullThickness -0.01*mm) );
892 
893  // define VDC logical volume of drift chamber container
894  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellFrontContainer_Logical " << G4endl << G4endl;
895 
896  VDC_DriftCellFrontContainer_Logical = new G4LogicalVolume(VDC_DriftCellFrontContainer_Solid,
897  VDC_DriftCellContainer_Material,
898  "VDC_DriftCellFrontContainer_Log",
899  0,0,0);
900 
901  // define VDC Drift Cell Container position within the master container
902  G4ThreeVector position_DriftCellFrontContainer = G4ThreeVector(0,
903  0,
905 
906  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellFrontContainer_Physical " << G4endl << G4endl;
907  // define VDC physical volume of drift chamber container
908  VDC_DriftCellFrontContainer_Physical = new G4PVPlacement(0,
909  position_DriftCellFrontContainer,
911  "VDC_DriftCellFrontContainer_Physical",
913  false,
914  0,
915  pSurfChk);
916 
917  //==========================================================
918  //
919  // Front Drift cell definition
920  //
921  //==========================================================
922 
923  // define solid volume of the drift chamber drift cell
924  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellFront_Solid" << G4endl << G4endl;
925 
926  VDC_DriftCellFront_Solid = new G4Para("VDC_DriftCellFront_Solid",
931  0.0*degree,
932  0.0*degree);
933 
934  // define VDC logical volume of drift cell container
935  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellFront_Logical " << G4endl << G4endl;
936 
938  VDC_DriftCell_Material,
939  "VDC_DriftCellFront_Log",
940  0,0,0);
941 
942 
943  //===============================================================================================
944 
945 
946  //==========================================================
947  //
948  // Back Drift cell container definition
949  //
950  //==========================================================
951 
952 
953 
954  // define solid volume of the drift chamber container
955  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellBackContainer_Solid" << G4endl << G4endl;
956 
957  G4Box* VDC_DriftCellBackContainer_Solid = new G4Box("VDC_DriftCellBackContainer_Solid",
960  0.5* (0.5*DriftCell_MasterContainer_FullThickness -0.01*mm ));
961 
962  // define VDC logical volume of drift chamber container
963  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellBackContainer_Logical " << G4endl << G4endl;
964 
965  VDC_DriftCellBackContainer_Logical = new G4LogicalVolume(VDC_DriftCellBackContainer_Solid,
966  VDC_DriftCellContainer_Material,
967  "VDC_DriftCellbackContainer_Log",
968  0,0,0);
969 
970  // define VDC Drift Cell Back Container position in MotherVolume
971  G4ThreeVector position_DriftCellBackContainer = G4ThreeVector(0,
972  0,
974 
975  // define VDC physical volume of drift chamber container
976  VDC_DriftCellBackContainer_Physical = new G4PVPlacement(0,
977  position_DriftCellBackContainer,
979  "VDC_DriftCellBackContainer_Physical",
981  false,
982  0,
983  pSurfChk);
984 
985  //==========================================================
986  //
987  // Back Drift cell definition
988  //
989  //==========================================================
990 
991 
992  // define solid volume of the drift chamber drift cell
993  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellBack_Solid" << G4endl << G4endl;
994 
995  VDC_DriftCellBack_Solid = new G4Para("VDC_DriftCellBack_Solid",
1000  0.0* degree,
1001  0.0* degree);
1002 
1003  // define VDC logical volume of drift cell container
1004  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellBack_Logical " << G4endl << G4endl;
1005 
1006  VDC_DriftCellBack_Logical = new G4LogicalVolume(VDC_DriftCellBack_Solid,
1007  VDC_DriftCell_Material,
1008  "VDC_DriftCellBack_Log",
1009  0,0,0);
1010 
1011  //==========================================================
1012  //
1013  // Front/Back Drift cell row definition
1014  //-
1015  //==========================================================
1016 
1017 
1018  G4VPVParameterisation* driftCellParam = new QweakSimVDC_DriftCellParameterisation( DriftCell_NumberPerPlane,
1020 
1021  //dummy value : kXAxis -- modified by parameterised volume
1022 
1024  new G4PVParameterised("VDC_DriftCellFront_Physical", // their name
1025  VDC_DriftCellFront_Logical, // their logical volume
1026  VDC_DriftCellFrontContainer_Logical, // Mother logical volume
1027  kXAxis, // Are placed along this axis
1028  DriftCell_NumberPerPlane, // Number of drift cells
1029  driftCellParam, // The parametrisation
1030  pSurfChk); // Check overlaps
1031 
1032 
1034  new G4PVParameterised("VDC_DriftCellBack_Physical", // their name
1035  VDC_DriftCellBack_Logical, // their logical volume
1036  VDC_DriftCellBackContainer_Logical, // Mother logical volume
1037  kXAxis, // Are placed along this axis
1038  DriftCell_NumberPerPlane, // Number of drift cells
1039  driftCellParam, // The parametrisation
1040  pSurfChk); // Check overlaps
1041 
1042 
1043 
1044 
1045 
1046  //==========================================================================================
1047  //
1048  // ------------------------------------------------------
1049  // Define a Region which is required for the PAI model
1050  // handling a precise energy loss of relativistic charged
1051  // particles crossing the drift chamber gas.
1052  // ------------------------------------------------------
1053 
1054  if (fEnablePAI) {
1055 
1056  if( fRegGasDet != 0 ) // remove obsolete root logical volume
1057  {
1058  fRegGasDet->RemoveRootLogicalVolume(VDC_DriftCellFront_Logical);
1059  fRegGasDet->RemoveRootLogicalVolume(VDC_DriftCellBack_Logical);
1060  }
1061 
1062  G4ProductionCuts* cuts = 0;
1063 
1064  if( fRegGasDet == 0 ) // First time - instantiate a region and a cut objects
1065  {
1066  fRegGasDet = new G4Region("DriftCellRegion_VDC");
1067  cuts = new G4ProductionCuts();
1068  fRegGasDet->SetProductionCuts(cuts);
1069  }
1070  else // Second time - get a cut object from region
1071  {
1072  cuts = fRegGasDet->GetProductionCuts();
1073  }
1074 
1077 
1078  fRegGasDet->AddRootLogicalVolume(VDC_DriftCellFront_Logical);
1079  fRegGasDet->AddRootLogicalVolume(VDC_DriftCellBack_Logical);
1080 
1081  cuts->SetProductionCut(fGammaCut,"gamma");
1082  cuts->SetProductionCut(fElectronCut,"e-");
1083  cuts->SetProductionCut(fPositronCut,"e+");
1084 
1085  }
1086 
1087  //==========================================================================================
1088 
1089 
1090 
1091  G4cout << G4endl << "###### QweakSimVDC: Setting Sensitive Detectors " << G4endl << G4endl;
1092 
1093  // Sensitive detectors
1094  //------------------------------------------------
1095  // All managed (deleted) by SDManager
1096 
1097  G4SDManager* SDman = G4SDManager::GetSDMpointer();
1098 
1099 
1100  //#######################################################
1101  // define drift chamber elements as sensitiv detectors
1102  // "sensitivity" will be handled by class QweakSimVDCSD
1103  //#######################################################
1104 
1105 
1106  //***********************************************************
1107  driftChamberSD = new QweakSimVDC_WirePlaneSD("VDCWirePlaneSD");
1108  SDman->AddNewDetector(driftChamberSD);
1109 
1110  // add wire plane as a sensitive element
1111  VDC_WirePlane_Logical->SetSensitiveDetector(driftChamberSD);
1112  //***********************************************************
1113 
1114 
1115  //***********************************************************
1116  driftCellFrontSD = new QweakSimVDC_DriftCellFrontSD("VDCDriftCellFrontSD");
1117  SDman->AddNewDetector(driftCellFrontSD);
1118 
1119  // add Front Drift Cell as a sensitive element
1120  VDC_DriftCellFront_Logical->SetSensitiveDetector(driftCellFrontSD);
1121  //***********************************************************
1122 
1123 
1124  //***********************************************************
1125  driftCellBackSD = new QweakSimVDC_DriftCellBackSD("VDCDriftCellBackSD");
1126  SDman->AddNewDetector(driftCellBackSD);
1127 
1128  // add Back Drift Cell as a sensitive element
1129  VDC_DriftCellBack_Logical->SetSensitiveDetector(driftCellBackSD);
1130  //***********************************************************
1131 
1132 
1133 
1134 
1135  G4cout << G4endl << "###### QweakSimVDC: Setting Attributes " << G4endl << G4endl;
1136 
1137  G4Colour orange (241/255.,224/255.,0/255.);
1138  G4Colour gray (210/255.,213/255.,210/255.);
1139 
1140  G4Colour red (255/255., 0/255.,0/255.);
1141  G4Colour green ( 0/255., 255/255.,0/255.);
1142  G4Color green_yellow (173/255., 255/255., 47/255.);
1143 
1144  VDC_DriftCellMasterContainer_VisAtt = new G4VisAttributes(gray);
1145  VDC_DriftCellMasterContainer_VisAtt -> SetVisibility(false);
1146  VDC_DriftCellMasterContainer_VisAtt -> SetForceWireframe(true);
1148 
1149  VDC_DriftCellFrontContainer_VisAtt = new G4VisAttributes(gray);
1150  VDC_DriftCellFrontContainer_VisAtt -> SetVisibility(false);
1152 
1153  VDC_DriftCellBackContainer_VisAtt = new G4VisAttributes(gray);
1154  VDC_DriftCellBackContainer_VisAtt -> SetVisibility(false);
1156 
1157  VDC_DriftCellFront_VisAtt = new G4VisAttributes(red);
1158  //VDC_DriftCellFront_VisAtt -> SetVisibility(true);
1159  VDC_DriftCellFront_VisAtt -> SetVisibility(false);
1160  VDC_DriftCellFront_VisAtt -> SetForceWireframe(true);
1162 
1163  VDC_DriftCellBack_VisAtt = new G4VisAttributes(green);
1164  //VDC_DriftCellBack_VisAtt -> SetVisibility(true);
1165  VDC_DriftCellBack_VisAtt -> SetVisibility(false);
1166  VDC_DriftCellBack_VisAtt -> SetForceWireframe(true);
1168 
1169  //===============
1170  // new VDC setup
1171  //===============
1172  VDC_MasterContainer_VisAtt = new G4VisAttributes(gray);
1173  VDC_MasterContainer_VisAtt -> SetVisibility(false);
1174  VDC_MasterContainer_VisAtt -> SetForceWireframe(true);
1176 
1177  VDC_SubContainer_VisAtt = new G4VisAttributes(orange);
1178  VDC_SubContainer_VisAtt -> SetVisibility(false);
1179  //VDC_SubContainer_VisAtt -> SetForceWireframe(true);
1180  VDC_SubContainer_Logical -> SetVisAttributes(VDC_SubContainer_VisAtt);
1181 
1182  VDC_G10Frame_VisAtt = new G4VisAttributes(green);
1183  VDC_G10Frame_VisAtt -> SetVisibility(true);
1184  //VDC_G10Frame_VisAtt -> SetForceWireframe(true);
1185  VDC_G10Frame_Logical -> SetVisAttributes(VDC_G10Frame_VisAtt);
1186 
1187  VDC_AluFrame_VisAtt = new G4VisAttributes(gray);
1188  VDC_AluFrame_VisAtt -> SetVisibility(true);
1189  //VDC_AluFrame_VisAtt -> SetForceWireframe(true);
1190  VDC_AluFrame_Logical -> SetVisAttributes(VDC_AluFrame_VisAtt);
1191 
1192  VDC_AluLayer_VisAtt = new G4VisAttributes(gray);
1193  VDC_AluLayer_VisAtt -> SetVisibility(true);
1194  //VDC_AluLayer_VisAtt -> SetForceWireframe(true);
1195  VDC_AluLayer_Logical -> SetVisAttributes(VDC_AluLayer_VisAtt);
1196 
1197  VDC_MylarFoil_VisAtt = new G4VisAttributes(red);
1198  VDC_MylarFoil_VisAtt -> SetVisibility(true);
1199  //VDC_MylarFoil_VisAtt -> SetForceWireframe(true);
1200  VDC_MylarFoil_Logical -> SetVisAttributes(VDC_MylarFoil_VisAtt);
1201 
1202  VDC_AMA_FoilContainer_VisAtt = new G4VisAttributes(gray);
1203  VDC_AMA_FoilContainer_VisAtt -> SetVisibility(false);
1204  VDC_AMA_FoilContainer_VisAtt -> SetForceWireframe(true);
1206 
1207  VDC_AM_FoilContainer_VisAtt = new G4VisAttributes(gray);
1208  VDC_AM_FoilContainer_VisAtt -> SetVisibility(false);
1209  VDC_AM_FoilContainer_VisAtt -> SetForceWireframe(true);
1211 
1212  VDC_MA_FoilContainer_VisAtt = new G4VisAttributes(gray);
1213  VDC_MA_FoilContainer_VisAtt -> SetVisibility(false);
1214  VDC_MA_FoilContainer_VisAtt -> SetForceWireframe(true);
1216 
1217  VDC_WirePlane_VisAtt = new G4VisAttributes(green_yellow);
1218  VDC_WirePlane_VisAtt -> SetVisibility(true);
1219  //VDC_MyWirePlane_VisAtt -> SetForceWireframe(true);
1220  VDC_WirePlane_Logical -> SetVisAttributes(VDC_WirePlane_VisAtt);
1221 
1222 
1223  G4cout << G4endl << "###### Leaving QweakSimVDC::ConstructComponent() " << G4endl << G4endl;
1224 
1225 } // end of QweakSimVDC::ConstructComponent()
G4double G10Frame_OuterLength
Definition: QweakSimVDC.hh:187
G4VPhysicalVolume * VDC_G10Frame_Physical
Definition: QweakSimVDC.hh:255
G4VisAttributes * VDC_AMA_FoilContainer_VisAtt
Definition: QweakSimVDC.hh:286
G4SubtractionSolid * VDC_AluFrame_Solid
Definition: QweakSimVDC.hh:257
G4double VDC_AluLayer_Thickness
Definition: QweakSimVDC.hh:241
G4VPhysicalVolume * VDC_DriftCellBack_Physical
Definition: QweakSimVDC.hh:182
G4double G10Frame_InnerLength
Definition: QweakSimVDC.hh:189
G4VPhysicalVolume * VDC_UPlane_Physical
Definition: QweakSimVDC.hh:267
G4double DriftCell_MasterContainer_FullThickness
Definition: QweakSimVDC.hh:224
G4double AluFrame_OuterLength
Definition: QweakSimVDC.hh:195
G4VisAttributes * VDC_AM_FoilContainer_VisAtt
Definition: QweakSimVDC.hh:287
G4VPhysicalVolume * VDC_CenterHVFoilContainer_Physical
Definition: QweakSimVDC.hh:277
G4VPhysicalVolume * VDC_DriftCellFront_Physical
Definition: QweakSimVDC.hh:178
G4double AluFrame_InnerWidth
Definition: QweakSimVDC.hh:198
G4VisAttributes * VDC_SubContainer_VisAtt
Definition: QweakSimVDC.hh:282
Checks for a valid VDC U-DriftCell and/or V-DriftCell hit and stores the hit information.
G4int DriftCell_NumberPerPlane
Definition: QweakSimVDC.hh:215
G4double AluFrame_OuterWidth
Definition: QweakSimVDC.hh:196
void PlaceVDC_MasterContainers()
G4double DriftCell_MasterContainer_FullLength
Definition: QweakSimVDC.hh:222
Parameterisation of the VDC Drift Cell locations.
G4double G10Frame_Thickness
Definition: QweakSimVDC.hh:186
void PlaceVDC_DriftCellMasterContainers()
G4VisAttributes * VDC_DriftCellBack_VisAtt
Definition: QweakSimVDC.hh:230
G4LogicalVolume * VDC_WirePlane_Logical
Definition: QweakSimVDC.hh:266
G4LogicalVolume * VDC_MA_FoilContainer_Logical
Definition: QweakSimVDC.hh:273
static const G4bool fEnablePAI
Definition: QweakSimVDC.hh:295
G4double DriftCell_MasterContainer_FullHeight
Definition: QweakSimVDC.hh:223
G4VSensitiveDetector * driftChamberSD
Definition: QweakSimVDC.hh:234
G4double DriftCell_WireAngleBack
Definition: QweakSimVDC.hh:220
G4VisAttributes * VDC_G10Frame_VisAtt
Definition: QweakSimVDC.hh:283
G4double AluFrame_InnerLength
Definition: QweakSimVDC.hh:197
G4LogicalVolume * VDC_G10Frame_Logical
Definition: QweakSimVDC.hh:254
G4LogicalVolume * VDC_AluLayer_Logical
Definition: QweakSimVDC.hh:264
G4double fGammaCut
Definition: QweakSimVDC.hh:296
G4double AluFrame_Thickness
Definition: QweakSimVDC.hh:194
G4VSensitiveDetector * driftCellFrontSD
Definition: QweakSimVDC.hh:235
G4LogicalVolume * VDC_SubContainer_Logical
Definition: QweakSimVDC.hh:250
G4LogicalVolume * VDC_AM_FoilContainer_Logical
Definition: QweakSimVDC.hh:272
G4LogicalVolume * VDC_DriftCellMasterContainer_Logical
Definition: QweakSimVDC.hh:167
G4LogicalVolume * VDC_AluFrame_Logical
Definition: QweakSimVDC.hh:258
G4VSensitiveDetector * driftCellBackSD
Definition: QweakSimVDC.hh:236
G4VisAttributes * VDC_DriftCellFrontContainer_VisAtt
Definition: QweakSimVDC.hh:227
G4LogicalVolume * VDC_DriftCellBack_Logical
Definition: QweakSimVDC.hh:181
G4Region * fRegGasDet
Definition: QweakSimVDC.hh:299
G4double DriftCell_FullWidthOnFrame
Definition: QweakSimVDC.hh:216
G4Material * GetMaterial(G4String material)
G4VPhysicalVolume * VDC_AluBottomFrame_Physical
Definition: QweakSimVDC.hh:260
G4Para * VDC_DriftCellBack_Solid
Definition: QweakSimVDC.hh:180
G4LogicalVolume * VDC_DriftCellFrontContainer_Logical
Definition: QweakSimVDC.hh:170
G4VisAttributes * VDC_MA_FoilContainer_VisAtt
Definition: QweakSimVDC.hh:288
G4VPhysicalVolume * VDC_BottomHVFoilContainer_Physical
Definition: QweakSimVDC.hh:278
G4double fPositronCut
Definition: QweakSimVDC.hh:298
G4double DriftCell_FullHeight
Definition: QweakSimVDC.hh:217
G4LogicalVolume * VDC_MasterContainer_Logical
Definition: QweakSimVDC.hh:246
G4VPhysicalVolume * VDC_VPlane_Physical
Definition: QweakSimVDC.hh:268
QweakSimMaterial * pMaterial
Definition: QweakSimVDC.hh:163
G4VisAttributes * VDC_AluLayer_VisAtt
Definition: QweakSimVDC.hh:289
G4VPhysicalVolume * VDC_DriftCellFrontContainer_Physical
Definition: QweakSimVDC.hh:171
G4VPhysicalVolume * VDC_TopHVFoilContainer_Physical
Definition: QweakSimVDC.hh:276
G4LogicalVolume * VDC_AMA_FoilContainer_Logical
Definition: QweakSimVDC.hh:271
G4double G10Frame_InnerWidth
Definition: QweakSimVDC.hh:190
G4VPhysicalVolume * VDC_AluTopFrame_Physical
Definition: QweakSimVDC.hh:259
G4double DriftCell_WireAngleFront
Definition: QweakSimVDC.hh:219
Checks for a valid VDC U-WirePlane and/or V-Wireplane hit and stores the hit information.
G4double VDC_MylarFoil_Thickness
Definition: QweakSimVDC.hh:242
G4VPhysicalVolume * VDC_DriftCellBackContainer_Physical
Definition: QweakSimVDC.hh:174
G4LogicalVolume * VDC_MylarFoil_Logical
Definition: QweakSimVDC.hh:263
G4LogicalVolume * VDC_DriftCellBackContainer_Logical
Definition: QweakSimVDC.hh:173
G4double G10Frame_OuterWidth
Definition: QweakSimVDC.hh:188
G4VPhysicalVolume * theMotherPV
Definition: QweakSimVDC.hh:165
G4VisAttributes * VDC_WirePlane_VisAtt
Definition: QweakSimVDC.hh:291
G4VisAttributes * VDC_DriftCellBackContainer_VisAtt
Definition: QweakSimVDC.hh:228
G4VisAttributes * VDC_MasterContainer_VisAtt
Definition: QweakSimVDC.hh:281
static const G4bool pSurfChk
G4VisAttributes * VDC_DriftCellMasterContainer_VisAtt
Definition: QweakSimVDC.hh:226
G4VisAttributes * VDC_MylarFoil_VisAtt
Definition: QweakSimVDC.hh:290
G4double DriftCell_FullThickness
Definition: QweakSimVDC.hh:218
G4VPhysicalVolume * VDC_TopGasFoilContainer_Physical
Definition: QweakSimVDC.hh:275
G4VPhysicalVolume * VDC_BottomGasFoilContainer_Physical
Definition: QweakSimVDC.hh:279
G4Para * VDC_DriftCellFront_Solid
Definition: QweakSimVDC.hh:176
G4double fElectronCut
Definition: QweakSimVDC.hh:297
G4VisAttributes * VDC_DriftCellFront_VisAtt
Definition: QweakSimVDC.hh:229
G4VisAttributes * VDC_AluFrame_VisAtt
Definition: QweakSimVDC.hh:284
G4VPhysicalVolume * VDC_SubContainer_Physical
Definition: QweakSimVDC.hh:251
Checks for a valid VDC U-DriftCell and/or V-DriftCell hit and stores the hit information.
G4SubtractionSolid * VDC_G10Frame_Solid
Definition: QweakSimVDC.hh:253
G4LogicalVolume * VDC_DriftCellFront_Logical
Definition: QweakSimVDC.hh:177

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::DestroyComponent ( )

Definition at line 1348 of file QweakSimVDC.cc.

1349 {
1350 }
G4double QweakSimVDC::GetDCFullThickness ( )
inline

Definition at line 134 of file QweakSimVDC.hh.

References DriftCell_FullThickness.

134 {return DriftCell_FullThickness;}
G4double DriftCell_FullThickness
Definition: QweakSimVDC.hh:218
G4double QweakSimVDC::GetDCUPlaneWireAngle ( )
inline

Definition at line 135 of file QweakSimVDC.hh.

References DriftCell_WireAngleFront.

135 {return DriftCell_WireAngleFront;}
G4double DriftCell_WireAngleFront
Definition: QweakSimVDC.hh:219
G4double QweakSimVDC::GetDCVPlaneWireAngle ( )
inline

Definition at line 136 of file QweakSimVDC.hh.

References DriftCell_WireAngleBack.

136 {return DriftCell_WireAngleBack;}
G4double DriftCell_WireAngleBack
Definition: QweakSimVDC.hh:220
G4double QweakSimVDC::GetDCWidthOnFrame ( )
inline

Definition at line 133 of file QweakSimVDC.hh.

References DriftCell_FullWidthOnFrame.

G4double DriftCell_FullWidthOnFrame
Definition: QweakSimVDC.hh:216
QweakSimTriggerScintillator* QweakSimVDC::GetTriggerScintillator ( )
inline

Definition at line 142 of file QweakSimVDC.hh.

Referenced by QweakSimVDCMessenger::SetNewValue().

142 {return myTriggerScintillator;};
QweakSimTriggerScintillator * myTriggerScintillator
Definition: QweakSimVDC.hh:147

+ Here is the caller graph for this function:

G4LogicalVolume* QweakSimVDC::getVDC_DriftCellBack_LogicalVolume ( )
inline

Definition at line 130 of file QweakSimVDC.hh.

References VDC_DriftCellBack_Logical.

130 {return VDC_DriftCellBack_Logical;}
G4LogicalVolume * VDC_DriftCellBack_Logical
Definition: QweakSimVDC.hh:181
G4VPhysicalVolume* QweakSimVDC::getVDC_DriftCellBack_PhysicalVolume ( )
inline

Definition at line 131 of file QweakSimVDC.hh.

References VDC_DriftCellBack_Physical.

G4VPhysicalVolume * VDC_DriftCellBack_Physical
Definition: QweakSimVDC.hh:182
G4LogicalVolume* QweakSimVDC::getVDC_DriftCellBackContainer_LogicalVolume ( )
inline

Definition at line 124 of file QweakSimVDC.hh.

References VDC_DriftCellBackContainer_Logical.

G4LogicalVolume * VDC_DriftCellBackContainer_Logical
Definition: QweakSimVDC.hh:173
G4VPhysicalVolume* QweakSimVDC::getVDC_DriftCellBackContainer_PhysicalVolume ( )
inline

Definition at line 125 of file QweakSimVDC.hh.

References VDC_DriftCellBackContainer_Physical.

G4VPhysicalVolume * VDC_DriftCellBackContainer_Physical
Definition: QweakSimVDC.hh:174
G4LogicalVolume* QweakSimVDC::getVDC_DriftCellFront_LogicalVolume ( )
inline

Definition at line 127 of file QweakSimVDC.hh.

References VDC_DriftCellFront_Logical.

G4LogicalVolume * VDC_DriftCellFront_Logical
Definition: QweakSimVDC.hh:177
G4VPhysicalVolume* QweakSimVDC::getVDC_DriftCellFront_PhysicalVolume ( )
inline

Definition at line 128 of file QweakSimVDC.hh.

References VDC_DriftCellFront_Physical.

G4VPhysicalVolume * VDC_DriftCellFront_Physical
Definition: QweakSimVDC.hh:178
G4LogicalVolume* QweakSimVDC::getVDC_DriftCellFrontContainer_LogicalVolume ( )
inline

Definition at line 121 of file QweakSimVDC.hh.

References VDC_DriftCellFrontContainer_Logical.

G4LogicalVolume * VDC_DriftCellFrontContainer_Logical
Definition: QweakSimVDC.hh:170
G4VPhysicalVolume* QweakSimVDC::getVDC_DriftCellFrontContainer_PhysicalVolume ( )
inline

Definition at line 122 of file QweakSimVDC.hh.

References VDC_DriftCellFrontContainer_Physical.

G4VPhysicalVolume * VDC_DriftCellFrontContainer_Physical
Definition: QweakSimVDC.hh:171
G4LogicalVolume* QweakSimVDC::getVDC_DriftCellMasterContainer_LogicalVolume ( )
inline

Definition at line 118 of file QweakSimVDC.hh.

References VDC_DriftCellMasterContainer_Logical.

G4LogicalVolume * VDC_DriftCellMasterContainer_Logical
Definition: QweakSimVDC.hh:167
G4VPhysicalVolume* QweakSimVDC::getVDC_DriftCellMasterContainer_PhysicalVolume ( )
inline

Definition at line 119 of file QweakSimVDC.hh.

References VDC_DriftCellMasterContainer_Physical.

std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
G4LogicalVolume* QweakSimVDC::getVDC_LogicalVolume ( )
inline

Definition at line 109 of file QweakSimVDC.hh.

References VDC_MasterContainer_Logical.

G4LogicalVolume * VDC_MasterContainer_Logical
Definition: QweakSimVDC.hh:246
G4VPhysicalVolume* QweakSimVDC::getVDC_UWirePlane_PhysicalVolume ( )
inline

Definition at line 115 of file QweakSimVDC.hh.

References VDC_UPlane_Physical.

115 {return VDC_UPlane_Physical;}
G4VPhysicalVolume * VDC_UPlane_Physical
Definition: QweakSimVDC.hh:267
G4VPhysicalVolume* QweakSimVDC::getVDC_VWirePlane_PhysicalVolume ( )
inline

Definition at line 116 of file QweakSimVDC.hh.

References VDC_VPlane_Physical.

116 {return VDC_VPlane_Physical;}
G4VPhysicalVolume * VDC_VPlane_Physical
Definition: QweakSimVDC.hh:268
G4LogicalVolume* QweakSimVDC::getVDC_WirePlane_LogicalVolume ( )
inline

Definition at line 114 of file QweakSimVDC.hh.

References VDC_WirePlane_Logical.

114 {return VDC_WirePlane_Logical;}
G4LogicalVolume * VDC_WirePlane_Logical
Definition: QweakSimVDC.hh:266
G4VPhysicalVolume* QweakSimVDC::getVDCBack_PhysicalVolume ( )
inline

Definition at line 112 of file QweakSimVDC.hh.

References VDC_MasterContainerBack_Physical.

Referenced by QweakSimDetectorConstruction::ConstructQweak().

std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248

+ Here is the caller graph for this function:

G4VPhysicalVolume* QweakSimVDC::getVDCFront_PhysicalVolume ( )
inline

Definition at line 111 of file QweakSimVDC.hh.

References VDC_MasterContainerFront_Physical.

Referenced by QweakSimDetectorConstruction::ConstructQweak().

std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247

+ Here is the caller graph for this function:

QweakSimVDCRotator* QweakSimVDC::GetVDCRotator ( )
inline

Definition at line 139 of file QweakSimVDC.hh.

References myRotator.

Referenced by QweakSimVDCMessenger::SetNewValue().

139 {return myRotator;};
QweakSimVDCRotator * myRotator
Definition: QweakSimVDC.hh:142

+ Here is the caller graph for this function:

void QweakSimVDC::PlaceVDC_DriftCellMasterContainers ( )
private

Definition at line 1708 of file QweakSimVDC.cc.

References pSurfChk, Rotation_VDC_MasterContainer, SetVDC_DriftCell_MasterContainer_CenterPosition(), theMotherPV, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, VDC_DriftCell_MasterContainer_ZPos, VDC_DriftCellMasterContainer_Logical, and VDC_DriftCellMasterContainer_Physical.

Referenced by ConstructComponent().

1709 {
1710 
1711 
1712  for (size_t i=0; i< VDC_DriftCellMasterContainer_Physical.size();i++) {
1713 
1714  // define VDC Drift Cell Container position in MotherVolume
1716 
1717  G4ThreeVector position_DriftCellMasterContainer = G4ThreeVector(VDC_DriftCell_MasterContainer_XPos[i],
1720 
1721  G4cout << G4endl << "###### QweakSimVDC: Define VDC_DriftCellMasterContainer_Physical " << G4endl << G4endl;
1722  // define VDC physical volume of drift chamber container
1724  position_DriftCellMasterContainer,
1725  "VDC_DriftCellMasterContainer_Physical",
1727  theMotherPV,
1728  false,
1729  i,
1730  pSurfChk);
1731  }
1732 
1733 }
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
std::vector< G4RotationMatrix * > Rotation_VDC_MasterContainer
Definition: QweakSimVDC.hh:154
void SetVDC_DriftCell_MasterContainer_CenterPosition(G4int pkg)
G4LogicalVolume * VDC_DriftCellMasterContainer_Logical
Definition: QweakSimVDC.hh:167
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
G4VPhysicalVolume * theMotherPV
Definition: QweakSimVDC.hh:165
static const G4bool pSurfChk

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::PlaceVDC_MasterContainers ( )
private

Definition at line 1647 of file QweakSimVDC.cc.

References pSurfChk, Rotation_VDC_MasterContainer, SetVDC_BackVDC_CenterPosition(), theMotherPV, VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_MasterContainer_Logical, VDC_MasterContainerBack_Physical, and VDC_MasterContainerFront_Physical.

Referenced by ConstructComponent().

1648 {
1649  G4cout << G4endl << "###### Calling QweakSimVDC::PlaceHDC_MasterContainers() " << G4endl << G4endl;
1650 
1651 
1652  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MasterContainerFront Orientation" << G4endl << G4endl;
1653 
1654  // define VDC Container Orientation in MotherVolume
1655  for (size_t i = 0; i < Rotation_VDC_MasterContainer.size(); i++) {
1656  Rotation_VDC_MasterContainer[i] = new G4RotationMatrix();
1657  G4double Angle_VDC_MasterContainer = (-90.0+45.0+20.82)*degree;
1658  Rotation_VDC_MasterContainer[i] ->rotateX(Angle_VDC_MasterContainer);
1659 
1660  }
1661 
1662 
1663  for (size_t i=0; i< VDC_MasterContainerFront_Physical.size();i++) {
1664 
1665  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MasterContainerFront Position" << G4endl << G4endl;
1666 
1667  // define VDC MasterContainer Front position in MotherVolume
1668  //VDC_CenterFront_ZPos = -600*cm; // just make an z offset for display
1669  //VDC_CenterBack_ZPos = -560*cm; // just make an z offset for display
1670 
1671 
1672 
1673  G4ThreeVector position_MasterContainerFront = G4ThreeVector(VDC_CenterFront_XPos[i],VDC_CenterFront_YPos[i],VDC_CenterFront_ZPos[i] );
1674 
1675  // define VDC MasterContainer Back position in MotherVolume
1677 
1678  G4ThreeVector position_MasterContainerBack = G4ThreeVector(VDC_CenterBack_XPos[i],VDC_CenterBack_YPos[i],VDC_CenterBack_ZPos[i] );
1679 
1680 
1681  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MasterContainerFront_Physical" << G4endl << G4endl;
1682 
1683  // define VDC physical volume of drift chamber container
1685  position_MasterContainerFront,
1686  Form("VDC_MasterContainerFront_Physical%ld",i+1),
1688  theMotherPV,
1689  false,
1690  2*i,
1691  pSurfChk); // copy number for front
1692 
1693  G4cout << G4endl << "###### QweakSimVDC: Define VDC_MasterContainerBack_Physical" << G4endl << G4endl;
1694 
1695  // define VDC physical volume of drift chamber container
1697  position_MasterContainerBack,
1698  Form("VDC_MasterContainerBack_Physical%ld",i+1),
1700  theMotherPV,
1701  false,
1702  2*i+1,
1703  pSurfChk);// copy number for back
1704  }
1705 
1706 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
std::vector< G4RotationMatrix * > Rotation_VDC_MasterContainer
Definition: QweakSimVDC.hh:154
void SetVDC_BackVDC_CenterPosition(G4int pkg)
G4LogicalVolume * VDC_MasterContainer_Logical
Definition: QweakSimVDC.hh:246
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
G4VPhysicalVolume * theMotherPV
Definition: QweakSimVDC.hh:165
static const G4bool pSurfChk
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetFrontVDC_CenterPositionInX ( G4double  xPos,
G4int  pkg 
)

Definition at line 1496 of file QweakSimVDC.cc.

References SetVDC_BackVDC_CenterPosition(), SetVDC_DriftCell_MasterContainer_CenterPosition(), VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, VDC_DriftCell_MasterContainer_ZPos, VDC_DriftCellMasterContainer_Physical, VDC_MasterContainerBack_Physical, and VDC_MasterContainerFront_Physical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1497 {
1498  G4cout << G4endl << "###### Calling QweakSimVDC::SetFrontVDC_CenterPositionInX() " << G4endl << G4endl;
1499 
1500  VDC_CenterFront_XPos[pkg] = xPos;
1501 
1504 
1505  VDC_MasterContainerFront_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_CenterFront_XPos[pkg],
1506  VDC_CenterFront_YPos[pkg],
1507  VDC_CenterFront_ZPos[pkg]));
1508 
1509  VDC_MasterContainerBack_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_CenterBack_XPos[pkg],
1510  VDC_CenterBack_YPos[pkg],
1511  VDC_CenterBack_ZPos[pkg]));
1512 
1513  VDC_DriftCellMasterContainer_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_DriftCell_MasterContainer_XPos[pkg],
1516 
1517  G4cout << G4endl << "###### Leaving QweakSimVDC::SetFrontVDC_CenterPositionInX() " << G4endl << G4endl;
1518 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
void SetVDC_DriftCell_MasterContainer_CenterPosition(G4int pkg)
void SetVDC_BackVDC_CenterPosition(G4int pkg)
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetFrontVDC_CenterPositionInY ( G4double  yPos,
G4int  pkg 
)

Definition at line 1521 of file QweakSimVDC.cc.

References SetVDC_BackVDC_CenterPosition(), SetVDC_DriftCell_MasterContainer_CenterPosition(), VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, VDC_DriftCell_MasterContainer_ZPos, VDC_DriftCellMasterContainer_Physical, VDC_MasterContainerBack_Physical, and VDC_MasterContainerFront_Physical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1522 {
1523  G4cout << G4endl << "###### Calling QweakSimVDC::SetFrontVDC_CenterPositionInY() " << G4endl << G4endl;
1524 
1525  VDC_CenterFront_YPos[pkg] = yPos;
1526 
1529 
1530  VDC_MasterContainerFront_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_CenterFront_XPos[pkg],
1531  VDC_CenterFront_YPos[pkg],
1532  VDC_CenterFront_ZPos[pkg]));
1533 
1534  VDC_MasterContainerBack_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_CenterBack_XPos[pkg],
1535  VDC_CenterBack_YPos[pkg],
1536  VDC_CenterBack_ZPos[pkg]));
1537 
1538  VDC_DriftCellMasterContainer_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_DriftCell_MasterContainer_XPos[pkg],
1541 
1542 
1543  G4cout << G4endl << "###### Leaving QweakSimVDC::SetFrontVDC_CenterPositionInY() " << G4endl << G4endl;
1544 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
void SetVDC_DriftCell_MasterContainer_CenterPosition(G4int pkg)
void SetVDC_BackVDC_CenterPosition(G4int pkg)
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetFrontVDC_CenterPositionInZ ( G4double  zPos,
G4int  pkg 
)

Definition at line 1547 of file QweakSimVDC.cc.

References SetVDC_BackVDC_CenterPosition(), SetVDC_DriftCell_MasterContainer_CenterPosition(), VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, VDC_DriftCell_MasterContainer_ZPos, VDC_DriftCellMasterContainer_Physical, VDC_MasterContainerBack_Physical, and VDC_MasterContainerFront_Physical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1548 {
1549  G4cout << G4endl << "###### Calling QweakSimVDC::SetFrontVDC_CenterPositionInZ() " << G4endl << G4endl;
1550 
1551  VDC_CenterFront_ZPos[pkg] = zPos;
1552 
1555 
1556 
1557  VDC_MasterContainerFront_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_CenterFront_XPos[pkg],
1558  VDC_CenterFront_YPos[pkg],
1559  VDC_CenterFront_ZPos[pkg]));
1560 
1561  VDC_MasterContainerBack_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_CenterBack_XPos[pkg],
1562  VDC_CenterBack_YPos[pkg],
1563  VDC_CenterBack_ZPos[pkg]));
1564 
1565  VDC_DriftCellMasterContainer_Physical[pkg]->SetTranslation(G4ThreeVector(VDC_DriftCell_MasterContainer_XPos[pkg],
1568 
1569  G4cout << G4endl << "###### Leaving QweakSimVDC::SetFrontVDC_CenterPositionInZ() " << G4endl << G4endl;
1570 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
void SetVDC_DriftCell_MasterContainer_CenterPosition(G4int pkg)
void SetVDC_BackVDC_CenterPosition(G4int pkg)
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetTriggerScintillator ( QweakSimTriggerScintillator theTriggerScintillator)
inline

Definition at line 141 of file QweakSimVDC.hh.

References myTriggerScintillator.

Referenced by QweakSimDetectorConstruction::ConstructQweak().

141 {myTriggerScintillator = theTriggerScintillator;};
QweakSimTriggerScintillator * myTriggerScintillator
Definition: QweakSimVDC.hh:147

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_AluFrameMaterial ( G4String  materialName)

Definition at line 1330 of file QweakSimVDC.cc.

References VDC_AluFrame_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1331 {
1332  // search the material by its name
1333  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1334  if (pttoMaterial)
1335  {
1336  G4cout << "==== Changing VDC AluFrame Material: Looking up Material " << G4endl;
1337  VDC_AluFrame_Logical->SetMaterial(pttoMaterial);
1338  G4cout << "==== Changing AluFrame Material: Now the VDC AluFrame is made of " << materialName << G4endl;
1339  }
1340  else {
1341  G4cerr << "==== ERROR: Changing VDC AluFrame Material failed" << G4endl;
1342  }
1343 
1344 }
G4LogicalVolume * VDC_AluFrame_Logical
Definition: QweakSimVDC.hh:258

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_BackVDC_CenterPosition ( G4int  pkg)
private

Definition at line 1573 of file QweakSimVDC.cc.

References MeanTrackAngle, VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, and VDC_FrontBackDistance.

Referenced by PlaceVDC_MasterContainers(), QweakSimVDC(), SetFrontVDC_CenterPositionInX(), SetFrontVDC_CenterPositionInY(), and SetFrontVDC_CenterPositionInZ().

1574 {
1575 
1576  // define VDC ContainerBack position in MotherVolume
1578  VDC_CenterBack_YPos[pkg] = VDC_CenterFront_YPos[pkg] + VDC_FrontBackDistance*TMath::Tan(MeanTrackAngle/degree*TMath::DegToRad());
1580 
1581 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
G4double MeanTrackAngle
Definition: QweakSimVDC.hh:157
G4double VDC_FrontBackDistance
Definition: QweakSimVDC.hh:208
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCell_MasterContainer_CenterPosition ( G4int  pkg)
private

Definition at line 1584 of file QweakSimVDC.cc.

References VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, and VDC_DriftCell_MasterContainer_ZPos.

Referenced by PlaceVDC_DriftCellMasterContainers(), QweakSimVDC(), SetFrontVDC_CenterPositionInX(), SetFrontVDC_CenterPositionInY(), and SetFrontVDC_CenterPositionInZ().

1585 {
1589 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellBackWireAngle ( G4double  backWireAngle)

Definition at line 1366 of file QweakSimVDC.cc.

References DriftCell_WireAngleBack, SetVDC_DriftCellGeometryUpdate(), QweakSimVDC_DriftCellFrontSD::StoreDCVPlaneWireAngle(), and QweakSimVDC_DriftCellBackSD::StoreDCVPlaneWireAngle().

Referenced by QweakSimVDCMessenger::SetNewValue().

1367 {
1368 G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellbackWireAngle() " << G4endl << G4endl;
1369 
1370  DriftCell_WireAngleBack = backWireAngle;
1371 
1374 
1376 }
void SetVDC_DriftCellGeometryUpdate()
G4double DriftCell_WireAngleBack
Definition: QweakSimVDC.hh:220
static void StoreDCVPlaneWireAngle(G4double dc_va)
static void StoreDCVPlaneWireAngle(G4double dc_va)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellFrontWireAngle ( G4double  frontWireAngle)

Definition at line 1353 of file QweakSimVDC.cc.

References DriftCell_WireAngleFront, SetVDC_DriftCellGeometryUpdate(), QweakSimVDC_DriftCellFrontSD::StoreDCUPlaneWireAngle(), and QweakSimVDC_DriftCellBackSD::StoreDCUPlaneWireAngle().

Referenced by QweakSimVDCMessenger::SetNewValue().

1354 {
1355  G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellFrontWireAngle() " << G4endl << G4endl;
1356 
1357  DriftCell_WireAngleFront = frontWireAngle;
1358 
1361 
1363 }
void SetVDC_DriftCellGeometryUpdate()
static void StoreDCUPlaneWireAngle(G4double dc_ua)
static void StoreDCUPlaneWireAngle(G4double dc_ua)
G4double DriftCell_WireAngleFront
Definition: QweakSimVDC.hh:219

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellFullHeight ( G4double  fullHeight)

Definition at line 1379 of file QweakSimVDC.cc.

References DriftCell_FullHeight, and SetVDC_DriftCellGeometryUpdate().

Referenced by QweakSimVDCMessenger::SetNewValue().

1380 {
1381 G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellFullHeight() " << G4endl << G4endl;
1382 
1383  DriftCell_FullHeight = fullHeight;
1385 }
void SetVDC_DriftCellGeometryUpdate()
G4double DriftCell_FullHeight
Definition: QweakSimVDC.hh:217

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellFullThickness ( G4double  fullThickness)

Definition at line 1401 of file QweakSimVDC.cc.

References DriftCell_FullThickness, SetVDC_DriftCellGeometryUpdate(), QweakSimVDC_DriftCellFrontSD::StoreDCFullThickness(), and QweakSimVDC_DriftCellBackSD::StoreDCFullThickness().

Referenced by QweakSimVDCMessenger::SetNewValue().

1402 {
1403 G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellFullThickness() " << G4endl << G4endl;
1404 
1405  DriftCell_FullThickness = fullThickness;
1406 
1409 
1411 }
static void StoreDCFullThickness(G4double dc_ft)
void SetVDC_DriftCellGeometryUpdate()
static void StoreDCFullThickness(G4double dc_ft)
G4double DriftCell_FullThickness
Definition: QweakSimVDC.hh:218

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellFullWidthOnFrame ( G4double  fullWidthOnFrame)

Definition at line 1388 of file QweakSimVDC.cc.

References DriftCell_FullWidthOnFrame, SetVDC_DriftCellGeometryUpdate(), QweakSimVDC_DriftCellFrontSD::StoreDCWidthOnFrame(), and QweakSimVDC_DriftCellBackSD::StoreDCWidthOnFrame().

Referenced by QweakSimVDCMessenger::SetNewValue().

1389 {
1390 G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellFullWidthOnFrame() " << G4endl << G4endl;
1391 
1392  DriftCell_FullWidthOnFrame = fullWidthOnFrame;
1393 
1396 
1398 }
void SetVDC_DriftCellGeometryUpdate()
static void StoreDCWidthOnFrame(G4double dc_w)
G4double DriftCell_FullWidthOnFrame
Definition: QweakSimVDC.hh:216
static void StoreDCWidthOnFrame(G4double dc_w)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellGeometryUpdate ( )

Definition at line 1424 of file QweakSimVDC.cc.

References DriftCell_FullHeight, DriftCell_FullThickness, DriftCell_FullWidthOnFrame, DriftCell_NumberPerPlane, DriftCell_WireAngleBack, DriftCell_WireAngleFront, pSurfChk, QweakSimVDC_DriftCellFrontSD::SetNumberOfDriftCellsPerPlane(), QweakSimVDC_DriftCellBackSD::SetNumberOfDriftCellsPerPlane(), VDC_DriftCellBack_Logical, VDC_DriftCellBack_Physical, VDC_DriftCellBack_Solid, VDC_DriftCellBackContainer_Logical, VDC_DriftCellFront_Logical, VDC_DriftCellFront_Physical, VDC_DriftCellFront_Solid, and VDC_DriftCellFrontContainer_Logical.

Referenced by SetVDC_DriftCellBackWireAngle(), SetVDC_DriftCellFrontWireAngle(), SetVDC_DriftCellFullHeight(), SetVDC_DriftCellFullThickness(), SetVDC_DriftCellFullWidthOnFrame(), and SetVDC_DriftCellNumberPerPlane().

1425 {
1426 G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellGeometryUpdate() " << G4endl << G4endl;
1427 
1428 
1429 // redefine the drift cells according to the changed parameters
1430 
1431  VDC_DriftCellFront_Solid->SetAllParameters( 0.5* DriftCell_FullWidthOnFrame,
1432  0.5* DriftCell_FullHeight,
1435  0.0* degree,
1436  0.0* degree);
1437 
1438  VDC_DriftCellBack_Solid->SetAllParameters( 0.5* DriftCell_FullWidthOnFrame,
1439  0.5* DriftCell_FullHeight,
1442  0.0* degree,
1443  0.0* degree);
1444 
1445 
1446  // if exist, remove the current drift cells with the old parameters
1448  {
1451  }
1452 
1454  {
1457  }
1458 
1459 
1460  // and rebuild from scratch the new drift cells and their arrangement
1461 
1462  G4VPVParameterisation* driftCellParam = new QweakSimVDC_DriftCellParameterisation( DriftCell_NumberPerPlane,
1464 
1465  //dummy value : kXAxis -- modified by parameterised volume
1466 
1468  new G4PVParameterised("VDC_DriftCellFront_Physical", // their name
1469  VDC_DriftCellFront_Logical, // their logical volume
1470  VDC_DriftCellFrontContainer_Logical, // Mother logical volume
1471  kXAxis, // Are placed along this axis
1472  DriftCell_NumberPerPlane, // Number of drift cells
1473  driftCellParam, // The parametrisation
1474  pSurfChk); // Check overlaps
1475 
1476 
1478  new G4PVParameterised("VDC_DriftCellBack_Physical", // their name
1479  VDC_DriftCellBack_Logical, // their logical volume
1480  VDC_DriftCellBackContainer_Logical, // Mother logical volume
1481  kXAxis, // Are placed along this axis
1482  DriftCell_NumberPerPlane, // Number of drift cells
1483  driftCellParam, // The parametrisation
1484  pSurfChk); // Check overlaps
1485 
1486  // we have to update QweakSimVDC_DriftCellSD about a possible new DriftCell_NumberPerPlane value
1489 
1490  // tell G4RunManager that we have changed the geometry
1491  G4RunManager::GetRunManager()->GeometryHasBeenModified();
1492 
1493 }
G4VPhysicalVolume * VDC_DriftCellBack_Physical
Definition: QweakSimVDC.hh:182
G4VPhysicalVolume * VDC_DriftCellFront_Physical
Definition: QweakSimVDC.hh:178
G4int DriftCell_NumberPerPlane
Definition: QweakSimVDC.hh:215
Parameterisation of the VDC Drift Cell locations.
G4double DriftCell_WireAngleBack
Definition: QweakSimVDC.hh:220
G4LogicalVolume * VDC_DriftCellBack_Logical
Definition: QweakSimVDC.hh:181
G4double DriftCell_FullWidthOnFrame
Definition: QweakSimVDC.hh:216
G4Para * VDC_DriftCellBack_Solid
Definition: QweakSimVDC.hh:180
G4LogicalVolume * VDC_DriftCellFrontContainer_Logical
Definition: QweakSimVDC.hh:170
G4double DriftCell_FullHeight
Definition: QweakSimVDC.hh:217
G4double DriftCell_WireAngleFront
Definition: QweakSimVDC.hh:219
G4LogicalVolume * VDC_DriftCellBackContainer_Logical
Definition: QweakSimVDC.hh:173
static const G4bool pSurfChk
G4double DriftCell_FullThickness
Definition: QweakSimVDC.hh:218
G4Para * VDC_DriftCellFront_Solid
Definition: QweakSimVDC.hh:176
static void SetNumberOfDriftCellsPerPlane(G4int dc_npp)
static void SetNumberOfDriftCellsPerPlane(G4int dc_npp)
G4LogicalVolume * VDC_DriftCellFront_Logical
Definition: QweakSimVDC.hh:177

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellMaterial ( G4String  materialName)

Definition at line 1262 of file QweakSimVDC.cc.

References VDC_DriftCellBack_Logical, and VDC_DriftCellFront_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1263 {
1264  // search the material by its name
1265  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1266  if (pttoMaterial)
1267  {
1268  G4cout << "==== Changing VDC DriftCell Material: Looking up Material " << G4endl;
1269  VDC_DriftCellFront_Logical->SetMaterial(pttoMaterial);
1270  VDC_DriftCellBack_Logical->SetMaterial(pttoMaterial);
1271  G4cout << "==== Changing VDC DriftCell Material: Now the VDC DriftCells are made of " << materialName << G4endl;
1272  }
1273  else {
1274  G4cerr << "==== ERROR: Changing VDC DriftCell Material failed" << G4endl;
1275  }
1276 
1277 }
G4LogicalVolume * VDC_DriftCellBack_Logical
Definition: QweakSimVDC.hh:181
G4LogicalVolume * VDC_DriftCellFront_Logical
Definition: QweakSimVDC.hh:177

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_DriftCellNumberPerPlane ( G4int  numberPerPlane)

Definition at line 1414 of file QweakSimVDC.cc.

References DriftCell_NumberPerPlane, and SetVDC_DriftCellGeometryUpdate().

Referenced by QweakSimVDCMessenger::SetNewValue().

1415 {
1416 G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_DriftCellFullWidthOnFrame() " << G4endl << G4endl;
1417 
1418  DriftCell_NumberPerPlane = numberPerPlane;
1420 }
void SetVDC_DriftCellGeometryUpdate()
G4int DriftCell_NumberPerPlane
Definition: QweakSimVDC.hh:215

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_FoilMaterial ( G4String  materialName)

Definition at line 1280 of file QweakSimVDC.cc.

References VDC_MylarFoil_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1281 {
1282  // search the material by its name
1283  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1284  if (pttoMaterial)
1285  {
1286  G4cout << "==== Changing VDC Foil Material: Looking up Material " << G4endl;
1287  VDC_MylarFoil_Logical->SetMaterial(pttoMaterial);
1288  G4cout << "==== Changing VDC Foil Material: Now the VDC Foils are made of " << materialName << G4endl;
1289  }
1290  else {
1291  G4cerr << "==== ERROR: Changing VDC Foil Material failed" << G4endl;
1292  }
1293 
1294 }
G4LogicalVolume * VDC_MylarFoil_Logical
Definition: QweakSimVDC.hh:263

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_G10FrameMaterial ( G4String  materialName)

Definition at line 1313 of file QweakSimVDC.cc.

References VDC_G10Frame_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1314 {
1315  // search the material by its name
1316  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1317  if (pttoMaterial)
1318  {
1319  G4cout << "==== Changing VDC G10Frame Material: Looking up Material " << G4endl;
1320  VDC_G10Frame_Logical->SetMaterial(pttoMaterial);
1321  G4cout << "==== Changing G10Frame Material: Now the VDC G10Frame is made of " << materialName << G4endl;
1322  }
1323  else {
1324  G4cerr << "==== ERROR: Changing VDC G10Frame Material failed" << G4endl;
1325  }
1326 
1327 }
G4LogicalVolume * VDC_G10Frame_Logical
Definition: QweakSimVDC.hh:254

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_MasterContainerMaterial ( G4String  materialName)

Definition at line 1228 of file QweakSimVDC.cc.

References VDC_MasterContainer_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1229 {
1230  // search the material by its name
1231  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1232  if (pttoMaterial)
1233  {
1234  G4cout << "==== Changing VDC MasterContainer Material: Looking up Material " << G4endl;
1235  VDC_MasterContainer_Logical->SetMaterial(pttoMaterial);
1236  G4cout << "==== Changing VDC MasterContainer Material: Now the VDC MasterContainer is made of " << materialName << G4endl;
1237  }
1238  else {
1239  G4cerr << "==== ERROR: Changing VDC MasterConrainer Material failed" << G4endl;
1240  }
1241 
1242 }
G4LogicalVolume * VDC_MasterContainer_Logical
Definition: QweakSimVDC.hh:246

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_MeanTrackAngleInTheta ( G4double  angle)
inline

Definition at line 102 of file QweakSimVDC.hh.

References MeanTrackAngle.

Referenced by QweakSimVDCMessenger::SetNewValue().

102 { MeanTrackAngle = angle; }
G4double MeanTrackAngle
Definition: QweakSimVDC.hh:157

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_RotationAngleInPhi ( G4double  vdc_phiangle,
G4int  pkg 
)

Definition at line 1593 of file QweakSimVDC.cc.

References Rotation_VDC_MasterContainer, VDC_CenterBack_XPos, VDC_CenterBack_YPos, VDC_CenterBack_ZPos, VDC_CenterFront_XPos, VDC_CenterFront_YPos, VDC_CenterFront_ZPos, VDC_DriftCell_MasterContainer_XPos, VDC_DriftCell_MasterContainer_YPos, VDC_DriftCell_MasterContainer_ZPos, VDC_DriftCellMasterContainer_Physical, VDC_MasterContainerBack_Physical, VDC_MasterContainerFront_Physical, and VDC_RotationAngleInPhi.

Referenced by QweakSimDetectorConstruction::ConstructQweak(), and QweakSimVDCMessenger::SetNewValue().

1594 {
1595  G4cout << G4endl << "###### Calling QweakSimVDC::SetVDC_RotationAngleInPhi() " << G4endl << G4endl;
1596 
1597  //------------------------------------------------------
1598  // VDC related
1599  //------------------------------------------------------
1600  G4ThreeVector Translation_VDC_ContainerFront;
1601  G4double VDCFront_RadialDistance = sqrt(VDC_CenterFront_XPos[pkg]*VDC_CenterFront_XPos[pkg] + VDC_CenterFront_YPos[pkg]*VDC_CenterFront_YPos[pkg]);
1602  //
1603  Translation_VDC_ContainerFront.setX(cos(vdc_phiangle)*VDCFront_RadialDistance) ;
1604  Translation_VDC_ContainerFront.setY(sin(vdc_phiangle)*VDCFront_RadialDistance) ;
1605  Translation_VDC_ContainerFront.setZ(VDC_CenterFront_ZPos[pkg]) ;
1606  //---
1607  G4ThreeVector Translation_VDC_ContainerBack;
1608  G4double VDCBack_RadialDistance = sqrt(VDC_CenterBack_XPos[pkg]*VDC_CenterBack_XPos[pkg] + VDC_CenterBack_YPos[pkg]*VDC_CenterBack_YPos[pkg]);
1609  //
1610  Translation_VDC_ContainerBack.setX(cos(vdc_phiangle)*VDCBack_RadialDistance) ;
1611  Translation_VDC_ContainerBack.setY(sin(vdc_phiangle)*VDCBack_RadialDistance) ;
1612  Translation_VDC_ContainerBack.setZ(VDC_CenterBack_ZPos[pkg]);
1613  //------------------------------------------------------
1614 
1615  //------------------------------------------------------
1616  // DriftCell related
1617  //------------------------------------------------------
1618  G4ThreeVector Translation_DriftCell_MasterContainer;
1619  G4double DriftCell_MasterContainer_RadialDistance = sqrt(VDC_DriftCell_MasterContainer_XPos[pkg]*VDC_DriftCell_MasterContainer_XPos[pkg] + VDC_DriftCell_MasterContainer_YPos[pkg]*VDC_DriftCell_MasterContainer_YPos[pkg]);
1620  //
1621  Translation_DriftCell_MasterContainer.setX(cos(vdc_phiangle)*DriftCell_MasterContainer_RadialDistance) ;
1622  Translation_DriftCell_MasterContainer.setY(sin(vdc_phiangle)*DriftCell_MasterContainer_RadialDistance) ;
1623  Translation_DriftCell_MasterContainer.setZ(VDC_DriftCell_MasterContainer_ZPos[pkg]) ;
1624  //------------------------------------------------------
1625 
1626 
1627  // assign new phi tilting angle
1628  VDC_RotationAngleInPhi[pkg] = vdc_phiangle;
1629  Rotation_VDC_MasterContainer[pkg] -> setPhi(VDC_RotationAngleInPhi[pkg] -90*degree);
1630 
1631  // Rotation of VDCs
1634  VDC_MasterContainerFront_Physical[pkg] -> SetTranslation(Translation_VDC_ContainerFront);
1635  VDC_MasterContainerBack_Physical[pkg] -> SetTranslation(Translation_VDC_ContainerBack);
1636 
1637  // Rotation of DriftCells
1639  VDC_DriftCellMasterContainer_Physical[pkg] -> SetTranslation(Translation_DriftCell_MasterContainer);
1640 
1641 
1642 
1643  G4cout << G4endl << "###### Leaving QweakSimVDC::SetVDC_RotationAngleInPhi() " << G4endl << G4endl;
1644 }
std::vector< G4double > VDC_CenterFront_XPos
Definition: QweakSimVDC.hh:200
std::vector< G4VPhysicalVolume * > VDC_MasterContainerBack_Physical
Definition: QweakSimVDC.hh:248
std::vector< G4double > VDC_CenterFront_YPos
Definition: QweakSimVDC.hh:201
std::vector< G4double > VDC_DriftCell_MasterContainer_ZPos
Definition: QweakSimVDC.hh:212
std::vector< G4double > VDC_CenterBack_YPos
Definition: QweakSimVDC.hh:205
std::vector< G4RotationMatrix * > Rotation_VDC_MasterContainer
Definition: QweakSimVDC.hh:154
std::vector< G4double > VDC_DriftCell_MasterContainer_YPos
Definition: QweakSimVDC.hh:211
std::vector< G4VPhysicalVolume * > VDC_DriftCellMasterContainer_Physical
Definition: QweakSimVDC.hh:168
std::vector< G4double > VDC_DriftCell_MasterContainer_XPos
Definition: QweakSimVDC.hh:210
G4double VDC_RotationAngleInPhi[2]
Definition: QweakSimVDC.hh:158
std::vector< G4double > VDC_CenterBack_ZPos
Definition: QweakSimVDC.hh:206
std::vector< G4VPhysicalVolume * > VDC_MasterContainerFront_Physical
Definition: QweakSimVDC.hh:247
std::vector< G4double > VDC_CenterFront_ZPos
Definition: QweakSimVDC.hh:202
std::vector< G4double > VDC_CenterBack_XPos
Definition: QweakSimVDC.hh:204

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_SubContainerMaterial ( G4String  materialName)

Definition at line 1245 of file QweakSimVDC.cc.

References VDC_SubContainer_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1246 {
1247  // search the material by its name
1248  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1249  if (pttoMaterial)
1250  {
1251  G4cout << "==== Changing VDC SubContainer Material: Looking up Material " << G4endl;
1252  VDC_SubContainer_Logical->SetMaterial(pttoMaterial);
1253  G4cout << "==== Changing VDC SubContainer Material: Now the VDC SubContainer is made of " << materialName << G4endl;
1254  }
1255  else {
1256  G4cerr << "==== ERROR: Changing VDC SubConrainer Material failed" << G4endl;
1257  }
1258 
1259 }
G4LogicalVolume * VDC_SubContainer_Logical
Definition: QweakSimVDC.hh:250

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDC_WirePlaneMaterial ( G4String  materialName)

Definition at line 1296 of file QweakSimVDC.cc.

References VDC_WirePlane_Logical.

Referenced by QweakSimVDCMessenger::SetNewValue().

1297 {
1298  // search the material by its name
1299  G4Material* pttoMaterial = G4Material::GetMaterial(materialName);
1300  if (pttoMaterial)
1301  {
1302  G4cout << "==== Changing VDC WirePlane Material: Looking up Material " << G4endl;
1303  VDC_WirePlane_Logical->SetMaterial(pttoMaterial);
1304  G4cout << "==== Changing VDC WirePlane Material: Now the VDC WirePlane is made of " << materialName << G4endl;
1305  }
1306  else {
1307  G4cerr << "==== ERROR: Changing VDC WirePlane Material failed" << G4endl;
1308  }
1309 
1310 }
G4LogicalVolume * VDC_WirePlane_Logical
Definition: QweakSimVDC.hh:266

+ Here is the caller graph for this function:

void QweakSimVDC::SetVDCRotator ( QweakSimVDCRotator theRotator)
inline

Definition at line 138 of file QweakSimVDC.hh.

References myRotator.

Referenced by QweakSimDetectorConstruction::ConstructQweak().

138 {myRotator = theRotator;};
QweakSimVDCRotator * myRotator
Definition: QweakSimVDC.hh:142

+ Here is the caller graph for this function:

Field Documentation

G4double QweakSimVDC::AluFrame_InnerLength
private

Definition at line 197 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::AluFrame_InnerWidth
private

Definition at line 198 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::AluFrame_OuterLength
private

Definition at line 195 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::AluFrame_OuterWidth
private

Definition at line 196 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::AluFrame_Thickness
private

Definition at line 194 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::DriftCell_FullHeight
private
G4double QweakSimVDC::DriftCell_FullThickness
private
G4double QweakSimVDC::DriftCell_FullWidthOnFrame
private
G4double QweakSimVDC::DriftCell_MasterContainer_FullHeight
private

Definition at line 223 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::DriftCell_MasterContainer_FullLength
private

Definition at line 222 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::DriftCell_MasterContainer_FullThickness
private

Definition at line 224 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4int QweakSimVDC::DriftCell_NumberPerPlane
private
G4double QweakSimVDC::DriftCell_WireAngleBack
private
G4double QweakSimVDC::DriftCell_WireAngleFront
private
G4VSensitiveDetector* QweakSimVDC::driftCellBackSD
private

Definition at line 236 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VSensitiveDetector* QweakSimVDC::driftCellFrontSD
private

Definition at line 235 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VSensitiveDetector* QweakSimVDC::driftChamberSD
private

Definition at line 234 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4double QweakSimVDC::fElectronCut
private

Definition at line 297 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

const G4bool QweakSimVDC::fEnablePAI = false
staticprivate

Definition at line 295 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4double QweakSimVDC::fGammaCut
private

Definition at line 296 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::fPositronCut
private

Definition at line 298 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4Region* QweakSimVDC::fRegGasDet
private

Definition at line 299 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::G10Frame_BorderWidthInX
private

Definition at line 191 of file QweakSimVDC.hh.

Referenced by QweakSimVDC().

G4double QweakSimVDC::G10Frame_BorderWidthInY
private

Definition at line 192 of file QweakSimVDC.hh.

Referenced by QweakSimVDC().

G4double QweakSimVDC::G10Frame_InnerLength
private

Definition at line 189 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::G10Frame_InnerWidth
private

Definition at line 190 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::G10Frame_OuterLength
private

Definition at line 187 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::G10Frame_OuterWidth
private

Definition at line 188 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::G10Frame_Thickness
private

Definition at line 186 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4double QweakSimVDC::MeanTrackAngle
private
QweakSimVDCRotator* QweakSimVDC::myRotator
private

Definition at line 142 of file QweakSimVDC.hh.

Referenced by GetVDCRotator(), QweakSimVDC(), and SetVDCRotator().

QweakSimTriggerScintillator* QweakSimVDC::myTriggerScintillator
private

Definition at line 147 of file QweakSimVDC.hh.

Referenced by SetTriggerScintillator().

QweakSimMaterial* QweakSimVDC::pMaterial
private

Definition at line 163 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

std::vector<G4RotationMatrix*> QweakSimVDC::Rotation_VDC_MasterContainer
private
G4VPhysicalVolume* QweakSimVDC::theMotherPV
private
G4VPhysicalVolume* QweakSimVDC::VDC_AluBottomFrame_Physical
private

Definition at line 260 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_AluFrame_Logical
private

Definition at line 258 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and SetVDC_AluFrameMaterial().

G4SubtractionSolid* QweakSimVDC::VDC_AluFrame_Solid
private

Definition at line 257 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VisAttributes* QweakSimVDC::VDC_AluFrame_VisAtt
private

Definition at line 284 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_AluLayer_Logical
private

Definition at line 264 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4double QweakSimVDC::VDC_AluLayer_Thickness
private

Definition at line 241 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4VisAttributes* QweakSimVDC::VDC_AluLayer_VisAtt
private

Definition at line 289 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VPhysicalVolume* QweakSimVDC::VDC_AluTopFrame_Physical
private

Definition at line 259 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_AM_FoilContainer_Logical
private

Definition at line 272 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VisAttributes* QweakSimVDC::VDC_AM_FoilContainer_VisAtt
private

Definition at line 287 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4LogicalVolume* QweakSimVDC::VDC_AMA_FoilContainer_Logical
private

Definition at line 271 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VisAttributes* QweakSimVDC::VDC_AMA_FoilContainer_VisAtt
private

Definition at line 286 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VPhysicalVolume* QweakSimVDC::VDC_BottomGasFoilContainer_Physical
private

Definition at line 279 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VPhysicalVolume* QweakSimVDC::VDC_BottomHVFoilContainer_Physical
private

Definition at line 278 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VPhysicalVolume* QweakSimVDC::VDC_CenterHVFoilContainer_Physical
private

Definition at line 277 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4LogicalVolume* QweakSimVDC::VDC_DriftCellBack_Logical
private
G4VPhysicalVolume* QweakSimVDC::VDC_DriftCellBack_Physical
private
G4Para* QweakSimVDC::VDC_DriftCellBack_Solid
private

Definition at line 180 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and SetVDC_DriftCellGeometryUpdate().

G4VisAttributes* QweakSimVDC::VDC_DriftCellBack_VisAtt
private

Definition at line 230 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and ~QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_DriftCellBackContainer_Logical
private
G4VPhysicalVolume* QweakSimVDC::VDC_DriftCellBackContainer_Physical
private
G4VisAttributes* QweakSimVDC::VDC_DriftCellBackContainer_VisAtt
private

Definition at line 228 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and ~QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_DriftCellFront_Logical
private
G4VPhysicalVolume* QweakSimVDC::VDC_DriftCellFront_Physical
private
G4Para* QweakSimVDC::VDC_DriftCellFront_Solid
private

Definition at line 176 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and SetVDC_DriftCellGeometryUpdate().

G4VisAttributes* QweakSimVDC::VDC_DriftCellFront_VisAtt
private

Definition at line 229 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and ~QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_DriftCellFrontContainer_Logical
private
G4VPhysicalVolume* QweakSimVDC::VDC_DriftCellFrontContainer_Physical
private
G4VisAttributes* QweakSimVDC::VDC_DriftCellFrontContainer_VisAtt
private

Definition at line 227 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and ~QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_DriftCellMasterContainer_Logical
private
std::vector< G4VPhysicalVolume* > QweakSimVDC::VDC_DriftCellMasterContainer_Physical
private
G4VisAttributes* QweakSimVDC::VDC_DriftCellMasterContainer_VisAtt
private

Definition at line 226 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and ~QweakSimVDC().

G4double QweakSimVDC::VDC_FrontBackDistance
private

Definition at line 208 of file QweakSimVDC.hh.

Referenced by QweakSimVDC(), and SetVDC_BackVDC_CenterPosition().

G4LogicalVolume* QweakSimVDC::VDC_G10Frame_Logical
private

Definition at line 254 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and SetVDC_G10FrameMaterial().

G4VPhysicalVolume* QweakSimVDC::VDC_G10Frame_Physical
private

Definition at line 255 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4SubtractionSolid* QweakSimVDC::VDC_G10Frame_Solid
private

Definition at line 253 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VisAttributes* QweakSimVDC::VDC_G10Frame_VisAtt
private

Definition at line 283 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_MA_FoilContainer_Logical
private

Definition at line 273 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VisAttributes* QweakSimVDC::VDC_MA_FoilContainer_VisAtt
private

Definition at line 288 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4LogicalVolume* QweakSimVDC::VDC_MasterContainer_Logical
private
G4VisAttributes* QweakSimVDC::VDC_MasterContainer_VisAtt
private

Definition at line 281 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

std::vector< G4VPhysicalVolume* > QweakSimVDC::VDC_MasterContainerBack_Physical
private
std::vector< G4VPhysicalVolume* > QweakSimVDC::VDC_MasterContainerFront_Physical
private
std::vector< QweakSimVDCMessenger* > QweakSimVDC::VDC_Messenger
private

Definition at line 161 of file QweakSimVDC.hh.

Referenced by QweakSimVDC().

G4LogicalVolume* QweakSimVDC::VDC_MylarFoil_Logical
private

Definition at line 263 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and SetVDC_FoilMaterial().

G4double QweakSimVDC::VDC_MylarFoil_Thickness
private

Definition at line 242 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4VisAttributes* QweakSimVDC::VDC_MylarFoil_VisAtt
private

Definition at line 290 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4double QweakSimVDC::VDC_RotationAngleInPhi[2]
private

Definition at line 158 of file QweakSimVDC.hh.

Referenced by QweakSimVDC(), and SetVDC_RotationAngleInPhi().

G4LogicalVolume* QweakSimVDC::VDC_SubContainer_Logical
private

Definition at line 250 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), QweakSimVDC(), and SetVDC_SubContainerMaterial().

G4VPhysicalVolume* QweakSimVDC::VDC_SubContainer_Physical
private

Definition at line 251 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4VisAttributes* QweakSimVDC::VDC_SubContainer_VisAtt
private

Definition at line 282 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and QweakSimVDC().

G4VPhysicalVolume* QweakSimVDC::VDC_TopGasFoilContainer_Physical
private

Definition at line 275 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VPhysicalVolume* QweakSimVDC::VDC_TopHVFoilContainer_Physical
private

Definition at line 276 of file QweakSimVDC.hh.

Referenced by ConstructComponent().

G4VPhysicalVolume* QweakSimVDC::VDC_UPlane_Physical
private
G4VPhysicalVolume* QweakSimVDC::VDC_VPlane_Physical
private
G4LogicalVolume* QweakSimVDC::VDC_WirePlane_Logical
private
G4VisAttributes* QweakSimVDC::VDC_WirePlane_VisAtt
private

Definition at line 291 of file QweakSimVDC.hh.

Referenced by ConstructComponent(), and ~QweakSimVDC().


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