35 #include "DetectorConstruction.hh"
48 :fDefaultMaterial(NULL),fCollimatorMaterial(NULL),fBoiteMaterial(NULL),
49 fCathodeMaterial(NULL),fVerreMaterial(NULL),fVerre2Material(NULL),
50 fKgmMaterial(NULL),fBoite2Material(NULL),fBoite3Material(NULL),
51 fNucleusMaterial1(NULL),fCytoplasmMaterial1(NULL),
52 fNucleusMaterial2(NULL),fCytoplasmMaterial2(NULL),
53 fNucleusMaterial3(NULL),fCytoplasmMaterial3(NULL),
54 fPhysiWorld(NULL),fLogicWorld(NULL),fSolidWorld(NULL),
55 fPhysiVol(NULL),fLogicVol(NULL),fSolidVol(NULL),
56 fPhysiBoite(NULL),fLogicBoite(NULL),fSolidBoite(NULL),
57 fPhysiYoke1(NULL),fLogicYoke1(NULL),fSolidYoke1(NULL),
58 fPhysi1Gap(NULL),fLogic1Gap(NULL),fSolid1Gap(NULL),
59 fPhysi2Gap(NULL),fLogic2Gap(NULL),fSolid2Gap(NULL),
60 fPhysi3Gap(NULL),fLogic3Gap(NULL),fSolid3Gap(NULL),
61 fPhysiYoke2(NULL),fLogicYoke2(NULL),fSolidYoke2(NULL),
62 fPhysi4Gap(NULL),fLogic4Gap(NULL),fSolid4Gap(NULL),
63 fPhysi5Gap(NULL),fLogic5Gap(NULL),fSolid5Gap(NULL),
64 fPhysiBoiteIso(NULL),fLogicBoiteIso(NULL),fSolidBoiteIso(NULL),
65 fPhysiCathode(NULL),fLogicCathode(NULL),fSolidCathode(NULL),
66 fPhysiIso(NULL),fLogicIso(NULL),fSolidIso(NULL),
67 fPhysiVerre(NULL),fLogicVerre(NULL),fSolidVerre(NULL),
68 fPhysiBoite2(NULL),fLogicBoite2(NULL),fSolidBoite2(NULL),
69 fPhysiBoite3(NULL),fLogicBoite3(NULL),fSolidBoite3(NULL),
70 fPhysiKgm(NULL),fLogicKgm(NULL),fSolidKgm(NULL),
71 fPhysiVerre2(NULL),fLogicVerre2(NULL),fSolidVerre2(NULL),
72 fPhysiPhantom(NULL),fLogicPhantom(NULL),fSolidPhantom(NULL)
116 G4int ncomponents, natoms,nel;
140 density = 1.000*
g/
cm3;
147 density = 1.290*
mg/
cm3;
149 temperature = 293.16*
kelvin;
156 density = (5
e-6/1013.)*1.290*
mg/
cm3;
158 temperature = 293.16*
kelvin;
167 density = 21.4*
g/
cm3;
172 density = 2.552e-2*
mg/
cm3;
174 temperature = 293.16*
kelvin;
188 density = 3.44*
g/
cm3;
221 Cytoplasm1->
AddElement(H, fractionmass=0.112);
222 Cytoplasm1->
AddElement(O, fractionmass=0.888);
230 Cytoplasm2->
AddElement(H, fractionmass=0.1064);
231 Cytoplasm2->
AddElement(O, fractionmass=0.745);
232 Cytoplasm2->
AddElement(C, fractionmass=0.0904);
233 Cytoplasm2->
AddElement(N, fractionmass=0.0321);
234 Cytoplasm2->
AddElement(P, fractionmass=0.0261);
241 Cytoplasm3->
AddElement(H, fractionmass=0.112);
242 Cytoplasm3->
AddElement(O, fractionmass=0.888);
340 10.*
m/2,10.*
m/2,(14025)*
mm/2);
static constexpr double kelvin
void SetMassCytoplasm(G4double mC)
static constexpr double micrometer
G4double GetPixelSizeX() const
G4VPhysicalVolume * fPhysiVerre2
static constexpr double atmosphere
CLHEP::Hep3Vector G4ThreeVector
G4LogicalVolume * fLogicBoite2
G4double GetNucleusMass() const
G4Material * fKgmMaterial
std::vector< ExP01TrackerHit * > a
G4LogicalVolume * fLogic3Gap
G4Material * fCathodeMaterial
G4VPhysicalVolume * fPhysiBoite3
G4double GetPixelSizeY() const
G4Material * fCytoplasmMaterial2
G4LogicalVolume * fLogic4Gap
static G4MaterialTable * GetMaterialTable()
G4Material * fNucleusMaterial3
G4Material * fCytoplasmMaterial3
static constexpr double mm
G4LogicalVolume * fLogicWorld
G4double GetCytoplasmMass() const
G4LogicalVolume * fLogicYoke1
CLHEP::HepRotation G4RotationMatrix
G4VPhysicalVolume * fPhysiYoke1
G4LogicalVolume * fLogic2Gap
G4VPhysicalVolume * ConstructLine()
G4VPhysicalVolume * Construct()
G4LogicalVolume * fLogicBoiteIso
static constexpr double kg
G4VPhysicalVolume * fPhysiWorld
G4int GetPhantomTotalPixels() const
static constexpr double universe_mean_density
G4VPhysicalVolume * fPhysiIso
G4LogicalVolume * fLogicVol
static constexpr double um
G4LogicalVolume * fLogicVerre2
G4bool SetDetectorField(G4Field *detectorField, int failMode=0)
G4VPhysicalVolume * fPhysiBoite2
static constexpr double g
static constexpr double m
G4Material * fBoiteMaterial
G4double fDensityCytoplasm
virtual void ConstructSDandField()
G4LogicalVolume * fLogic5Gap
G4LogicalVolume * fLogicBoite
G4LogicalVolume * fLogicVerre
G4Material * fDefaultMaterial
G4LogicalVolume * fLogicYoke2
G4FieldManager * GetFieldManager() const
G4VPhysicalVolume * fPhysiKgm
static G4ThreadLocal EMField * fField
G4Material * fCollimatorMaterial
static constexpr double deg
static constexpr double mg
G4VPhysicalVolume * fPhysiPhantom
G4VPhysicalVolume * fPhysi4Gap
G4VPhysicalVolume * fPhysi2Gap
G4Material * fVerreMaterial
void SetMassNucleus(G4double mN)
G4LogicalVolume * fLogicCathode
void SetVisAttributes(const G4VisAttributes *pVA)
G4LogicalVolume * fLogicPhantom
G4VPhysicalVolume * fPhysiYoke2
CellParameterisation * fMyCellParameterisation
G4LogicalVolume * fLogicKgm
void SetUserLimits(G4UserLimits *pULimits)
G4LogicalVolume * fLogicBoite3
static G4TransportationManager * GetTransportationManager()
G4VPhysicalVolume * fPhysi1Gap
void SetForceSolid(G4bool=true)
void SetVisibility(G4bool=true)
void SetChordFinder(G4ChordFinder *aChordFinder)
G4LogicalVolume * fLogicIso
HepRotation & rotateY(double delta)
G4VPhysicalVolume * fPhysiBoiteIso
void AddElement(G4Element *element, G4int nAtoms)
G4Material * fVerre2Material
void SetDaughtersInvisible(G4bool=true)
HepRotation & rotateZ(double delta)
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
G4VPhysicalVolume * fPhysiVol
void SetNbOfPixelsInPhantom(G4int nP)
G4VPhysicalVolume * fPhysiCathode
G4Material * fCytoplasmMaterial1
G4VPhysicalVolume * fPhysiBoite
G4int GetNumberOfVariables() const
static constexpr double mole
G4Material * fBoite3Material
static constexpr double bar
static constexpr double cm3
G4Material * fNucleusMaterial1
G4VPhysicalVolume * fPhysi5Gap
HepRotation & rotateX(double delta)
G4VPhysicalVolume * fPhysiVerre
G4VPhysicalVolume * fPhysi3Gap
static constexpr double pi
G4Material * fBoite2Material
G4LogicalVolume * fLogic1Gap
G4Material * fNucleusMaterial2
G4double GetPixelSizeZ() const