9 #include <G4Material.hh> 10 #include <G4LogicalVolume.hh> 11 #include <G4VPhysicalVolume.hh> 12 #include <G4PVPlacement.hh> 13 #include <G4VisAttributes.hh> 15 #include <G4Polyhedra.hh> 17 #include <G4SystemOfUnits.hh> 18 #include <G4PhysicalConstants.hh> 43 SetSensitiveDetector(
"cryo",
"segment");
70 G4LogicalVolume* logVolume
71 =
new G4LogicalVolume(
new G4Tubs(GetName(),
72 0.0, GetRadius(), GetHeight()/2,
74 FindMaterial(
"Argon_Liquid"),
76 logVolume->SetVisAttributes(GetColor(logVolume));
77 if (GetSensitiveDetector()) {
78 logVolume->SetSensitiveDetector(GetSensitiveDetector());
81 G4ThreeVector
center(0.0,0.0,GetHeight()/2);
84 center -= G4ThreeVector(0.0,0.0,0.0);
88 G4LogicalVolume* logDrift = drift.
GetPiece();
89 center -= G4ThreeVector(0.0,0.0,drift.
GetHeight()/2);
91 new G4PVPlacement(NULL,
104 double fieldPlane[] = {-drift.
GetHeight()/2,
107 G4LogicalVolume *logFieldCage
108 =
new G4LogicalVolume(
new G4Polyhedra(GetName()+
"/FieldCage",
112 fieldInner, fieldOuter),
113 FindMaterial(
"FR4_Copper"),
114 GetName()+
"/FieldCage");
115 logFieldCage->SetVisAttributes(GetColor(logFieldCage));
117 new G4PVPlacement(NULL,
120 logFieldCage->GetName(),
static constexpr double cm
double GetHeight()
Get the total height of the drift region.
double GetGridPlaneOffset()
Get the offset of the grid from the top of the drift region.
void SetNewValue(G4UIcommand *cmd, G4String val)
CaptImmersedBuilder * fBuilder
virtual ~CaptImmersedMessenger()
void SetWirePlaneSpacing(double v)
Set the spacing between the wire planes.
CaptImmersedMessenger(CaptImmersedBuilder *c)
void SetApothem(double v)
Construct a module from components.
BuilderMessenger(EDepSim::Builder *c, const char *guide=NULL)
void SetNewValue(G4UIcommand *cmd, G4String val)
virtual G4LogicalVolume * GetPiece(void)
G4ThreeVector GetOffset()
virtual ~CaptImmersedBuilder()
double GetRadius()
Get the radius of the exposed region. This is calculated.
void SetDriftLength(double v)
static constexpr double mm
static constexpr double degree
double GetHeight()
Get the height of the exposed region. This is calculated.
virtual G4LogicalVolume * GetPiece(void)