66 #include "FCALTestbeamSetupParameters.input" 
   85   G4Box * SolidMother = 
new G4Box(
"Mother",MotherSizeX,MotherSizeY,MotherSizeZ);
 
   97   G4Box * SolidScintS1andS3 = 
 
   98     new G4Box(
"ScintS1andS3Solid",ScintS1andS3SizeX,  ScintS1andS3SizeY, ScintS1andS3SizeZ);
 
   99   G4Box * SolidScintS2 = 
 
  100     new G4Box(
"ScintS2Solid", ScintS2SizeX, ScintS2SizeY, ScintS2SizeZ); 
 
  104             "ScintS1andS3Logical");  
 
  111               "ScintS1Physical",LogicalScintS1andS3,PhysicalMother,0,0);
 
  113     new G4PVPlacement(0, 
G4ThreeVector(ScintS1_S3PosX, ScintS1_S3PosY, ScintS3PosZ),
 
  114               "ScintS3Physical",LogicalScintS1andS3,PhysicalMother,0,0);  
 
  116     new G4PVPlacement(0, 
G4ThreeVector(ScintS1_S3PosX, ScintS1_S3PosY, ScintS2PosZ),
 
  117               "ScintS2Physical", LogicalScintS2, PhysicalMother,0,0);
 
  121   LogicalScintS2->SetVisAttributes(ColorOfScintillator);
 
  127   G4Box* SolidMWPC = 
new G4Box(
"MWPCSolid",MWPCSizeX,MWPCSizeY,MWPCSizeZ);
 
  133     new G4PVPlacement(0,
G4ThreeVector(MWPCPosX,MWPCPosY,MWPCPosZ[i]),
 
  134               "MWPCPhysical", LogicalMWPC, PhysicalMother,0,i+1);
 
  143   G4Box *  SolidHoleCntrScint = 
 
  144     new G4Box(
"ScintSolid", HoleCntrSizeX, HoleCntrSizeY, HoleCntrScintSizeZ);
 
  147             "HoleCntrScintLogical");
 
  150     new G4Tubs(
"HoleSolid", ScintHoleRmin, ScintHoleRmax, ScintHoleLenght,  
 
  151            HoleStartPhi, HoleDPhi);
 
  155     new G4PVPlacement(0, 
G4ThreeVector(HolePosX, HolePosY, HolePosZ), LogicalHole, 
 
  156               "HolePhysicalScint", LogicalHoleCntrScint, 0, 0);
 
  160             G4ThreeVector(HoleCntrScintPosX, HoleCntrScintPosY, HoleCntrScintPosZ), 
 
  161             "HoleCntrScintPhysical", LogicalHoleCntrScint, PhysicalMother, 0, 0);
 
  164   G4Box * SolidHoleCntrAbsrb = 
 
  165     new G4Box(
"AbsrbSolid", HoleCntrSizeX, HoleCntrSizeY, HoleCntrAbsrbSizeZ);
 
  168             "HoleCntrPbLoghical");
 
  172     new G4Tubs(
"HoleSolidAbs", AbsrbHoleRmin, AbsrbHoleRmax, AbsrbHoleLenght, 
 
  173            HoleStartPhi, HoleDPhi);
 
  177     new G4PVPlacement(0, 
G4ThreeVector(HolePosX, HolePosY, HolePosZ), LogicalHoleAbs,
 
  178               "HolePbPhysical", LogicalHoleCntrPb, 0, 0);
 
  182     new G4PVPlacement(0, 
G4ThreeVector(HoleCntrPbPosX, HoleCntrPbPosY, HoleCntrPbPosZ),
 
  183               "HoleCntrPbPhysical", LogicalHoleCntrPb, PhysicalMother, 0, 0);
 
  188             "HoleCntrAlLoghical");
 
  190     new G4PVPlacement(0, 
G4ThreeVector(HolePosX, HolePosY, HolePosZ), LogicalHoleAbs,
 
  191               "HoleAlPhysical", LogicalHoleCntrAl, 0, 0);
 
  193     new G4PVPlacement(0, 
G4ThreeVector(HoleCntrAlPosX, HoleCntrAlPosY, HoleCntrAlPosZ),
 
  194               "HoleCntrAlPhysical", LogicalHoleCntrAl, PhysicalMother, 0, 0);
 
  211    G4Box * SolidLeadWall = 
 
  212      new G4Box(
"LeadWallSolid", LeadWallSizeX, LeadWallSizeY, LeadWallSizeZ);
 
  217    G4Box * SolidSlitPb = 
new G4Box(
"SlitPb", LeadWallSlitSizeX, LeadWallSlitSizeY, 
 
  222      new G4PVPlacement(0, 
G4ThreeVector(), LogicalSlitPb, 
"SlitPbPhysical", LogicalLeadWall, 0, 0);
 
  225      new G4PVPlacement(0, 
G4ThreeVector(LeadWallPosX,LeadWallPosY,LeadWallPosZ),
 
  226                "LeadWallPhysical", LogicalLeadWall, PhysicalMother, 0, 0);
 
  235    G4Box * SolidIronWall = 
 
  236      new G4Box(
"IronWallSolid", IronWallSizeX, IronWallSizeY, IronWallSizeZ);
 
  241    G4Box * SolidSlitFe = 
new G4Box(
"SlitFe", IronWallSlitSizeX, IronWallSlitSizeY, 
 
  246      new G4PVPlacement(0, 
G4ThreeVector(), LogicalSlitFe, 
"SlitFePhysical", LogicalIronWall, 0, 0);
 
  249      new G4PVPlacement(0, 
G4ThreeVector(IronWallPosX,IronWallPosY,IronWallPosZ),
 
  250                "IronWallPhysical", LogicalIronWall, PhysicalMother, 0, 0);
 
  259    G4Box * SolidBigScint = 
 
  260      new G4Box(
"BigSolidScint",BigScintSizeX, BigScintSizeY, ScintSizeZ);
 
  265    G4Box * SolidSmallScint = 
 
  266      new G4Box(
"SmallSolidScint",SmallScintSizeX, SmallScintSizeY, ScintSizeZ);
 
  269              "SmallScintLogical");
 
  271    for( i=0; i<(NBigScint+NSmallScint); i++)
 
  275          new G4PVPlacement(0, 
G4ThreeVector(ScintPosX, ScintPosY, ScintPosZ[i]),
 
  276                    "BigScintPhysical", LogicalBigScint, PhysicalMother, 
 
  281          new G4PVPlacement(0, 
G4ThreeVector(ScintPosX, ScintPosY, ScintPosZ[i]),
 
  282                    "SmallScintPhysical", LogicalSmallScint, PhysicalMother,
 
  290    G4Box * SolidBigIron = 
 
  291      new G4Box(
"BigSolidIron",BigIronSizeX, BigIronSizeY, IronSizeZ);
 
  296    G4Box * SolidSmallIron = 
 
  297      new G4Box(
"SmallSolidIron",SmallIronSizeX, SmallIronSizeY, IronSizeZ);
 
  302    for( i=0; i<(NBigIron+NSmallIron); i++)
 
  306          new G4PVPlacement(0, 
G4ThreeVector(IronPosX, IronPosY, IronPosZ[i]),
 
  307                    "BigIronPhysical", LogicalBigIron, PhysicalMother, 
 
  312          new G4PVPlacement(0, 
G4ThreeVector(IronPosX, IronPosY, IronPosZ[i]),
 
  313                    "SmallIronPhysical", LogicalSmallIron, PhysicalMother,
 
  323    G4Box * SolidConcWall = 
 
  324      new G4Box(
"ConcWallSolid", ConcWallSizeX, ConcWallSizeY, ConcWallSizeZ);
 
  329      new G4PVPlacement(0, 
G4ThreeVector(ConcWallPosX, ConcWallPosY, ConcWallAPosZ),
 
  330                "ConcWallAPhysical", LogicalConcWallA, PhysicalMother, 0, 0);
 
  336      new G4PVPlacement(0, 
G4ThreeVector(ConcWallPosX, ConcWallPosY, ConcWallBPosZ),
 
  337                "ConcWallBPhysical", LogicalConcWallB, PhysicalMother, 0, 0);
 
  339     G4Box * SolidConcWallIns = 
 
  340      new G4Box(
"ConcWallInsSolid", ConcWallInsSizeX,ConcWallInsSizeY,ConcWallInsSizeZ);
 
  343               "LogicalConcWallIns");
 
  345       new G4PVPlacement(0, 
G4ThreeVector(), 
"ConcWallInsPhysical", LogicalConcWallIns, PhysicalConcWallA, 0, 0);
 
  355    G4Box * SolidMuContr = 
 
  356      new G4Box(
"MuContrSolid", MuCntrSIzeX, MuCntrSIzeY, MuCntrSIzeZ);
 
  361      new G4PVPlacement(0, 
G4ThreeVector(MuCntrPosX, MuCntrPosY, MuCntrPosZ),
 
  362                "MuContrPhyiscal", LogicalMuContr, PhysicalMother, 0, 0);
 
  392     new G4PVPlacement(CryostatRotationMatrix, 
 
  393               G4ThreeVector(CryostatPosX,CryostatPosY,CryostatPosZ),
"CryostatVolumes" 
  394               , theCryostatVolumes, PhysicalMother, 0,0);
 
  408       LogicalScintS2->SetSensitiveDetector(FCALTBSetupSD);
 
  432   return PhysicalMother;
 
CLHEP::Hep3Vector G4ThreeVector
 
HepRotation & rotateX(double delta)
 
CLHEP::HepRotation G4RotationMatrix
 
static FCALMaterialConsultant * construct()
 
G4VPhysicalVolume * Construct()
 
G4LogicalVolume * Construct()
 
G4Material * Material(G4String)
 
void AddNewDetector(G4VSensitiveDetector *aSD)
 
static G4SDManager * GetSDMpointer()
 
static const G4VisAttributes Invisible
 
void SetVisAttributes(const G4VisAttributes *pVA)
 
void SetSensitiveDetector(G4VSensitiveDetector *pSDetector)