Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/xray_TESdetector/include/XrayTESdetDetectorConstruction.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 //
  2 // ********************************************************************
  3 // * License and Disclaimer                                           *
  4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.                             *
 10 // *                                                                  *
 11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                                                  *
 18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // ********************************************************************
 25 //
 26 /// \file XrayTESdetDetectorConstruction.hh
 27 /// \brief Definition of the DetectorConstruction class
 28 //
 29 //
 30 // Authors: P.Dondero (paolo.dondero@cern.ch), R.Stanzani (ronny.stanzani@cern.ch)
 31 //
 32 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 33 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 34 
 35 
 36 #ifndef XrayTESdetDetectorConstruction_h
 37 #define XrayTESdetDetectorConstruction_h 1
 38 
 39 class XrayTESdetDetectorMessenger;
 40 class G4LogicalVolume;
 41 class G4VPhysicalVolume;
 42 class G4UserLimits;
 43 class G4PVPlacement;
 44 
 45 #include "G4VUserDetectorConstruction.hh"
 46 #include "G4GDMLParser.hh"
 47 #include "G4PVParameterised.hh"
 48 
 49 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
 50 
 51 class XrayTESdetDetectorConstruction : public G4VUserDetectorConstruction
 52 {
 53    public:
 54 
 55      explicit XrayTESdetDetectorConstruction();
 56      ~XrayTESdetDetectorConstruction() override;
 57      G4VPhysicalVolume* Construct() override;
 58      void SetMaxStep (G4double);
 59      void SetReadFile(G4String);
 60 
 61    private:
 62 
 63      // GDMLparser
 64      G4GDMLParser fParser;
 65      G4String fReadFile;
 66      G4UserLimits* fStepLimitPolyfilta;
 67      G4UserLimits* fStepLimitAlfilta;
 68      G4UserLimits* fStepLimitmembrane;
 69      G4PVPlacement* fExperimentalHall_phys;
 70      XrayTESdetDetectorMessenger* fDetectorMessenger;
 71      G4VPhysicalVolume* ConstructDetector();
 72      G4PVParameterised* fPhysiDet;
 73 
 74      // Logical volumes
 75      G4LogicalVolume* fExperimentalHall_log;
 76      G4LogicalVolume* fElement_log;
 77      G4LogicalVolume* fMembranepxl_log;
 78      G4LogicalVolume* fDetector_log;
 79      G4LogicalVolume* fBipxl_log;
 80      G4LogicalVolume* fACDpxl_log;
 81      G4LogicalVolume* fInACDpxl_log;
 82      G4LogicalVolume* fGridpiece_log;
 83      G4LogicalVolume* fWafer_log;
 84      G4LogicalVolume* fACplate_log;
 85      G4LogicalVolume* fCagewall_log;
 86      G4LogicalVolume* fMinicagewall_log;
 87      G4LogicalVolume* fExtcagewall_log;
 88      G4LogicalVolume* fExtboard_log;
 89      G4LogicalVolume* fMesh_log;
 90      G4LogicalVolume* fSphere_log;
 91      G4LogicalVolume* fBSC_log;
 92      G4LogicalVolume* fTrapezoid_A_log;
 93      G4LogicalVolume* fTrapezoid_B_log;
 94      G4LogicalVolume* fTrapezoid_C_log;
 95      G4LogicalVolume* fTrapezoid_D_log;
 96      G4LogicalVolume* fWorld_log;
 97 
 98      // Physical volumes
 99      G4VPhysicalVolume* fBipxl_phys;
100      G4VPhysicalVolume* fMembranepxl_phys;
101      G4VPhysicalVolume* fGridpiece_phys;
102      G4VPhysicalVolume* fDetector_phys;
103      G4VPhysicalVolume* fACDpxl_phys;
104      G4VPhysicalVolume* fInACDpxl_phys;
105      G4VPhysicalVolume* fWafer_phys;
106      G4VPhysicalVolume* fACplate_phys;
107      G4VPhysicalVolume* fCagecolumn_phys;
108      G4VPhysicalVolume* fCagecolumn2_phys;
109      G4VPhysicalVolume* fCagecolumn3_phys;
110      G4VPhysicalVolume* fCagecolumn4_phys;
111      G4VPhysicalVolume* fCagecolumn5_phys;
112      G4VPhysicalVolume* fCagecolumn6_phys;
113      G4VPhysicalVolume* fEmptycagecolumn_phys;
114      G4VPhysicalVolume* fEmptycagecolumn2_phys;
115      G4VPhysicalVolume* fEmptycagecolumn3_phys;
116      G4VPhysicalVolume* fCagewall_phys;
117      G4VPhysicalVolume* fCagewall2_phys;
118      G4VPhysicalVolume* fCagewall3_phys;
119      G4VPhysicalVolume* fCagewall4_phys;
120      G4VPhysicalVolume* fCagewall5_phys;
121      G4VPhysicalVolume* fCagewall6_phys;
122      G4VPhysicalVolume* fMinicagewall_phys;
123      G4VPhysicalVolume* fMinicagewall2_phys;
124      G4VPhysicalVolume* fMinicagewall3_phys;
125      G4VPhysicalVolume* fExtcagewall_phys;
126      G4VPhysicalVolume* fExtcagewall2_phys;
127      G4VPhysicalVolume* fExtboard_phys;
128      G4VPhysicalVolume* fExtboard2_phys;
129      G4VPhysicalVolume* fRing_phys;
130      G4VPhysicalVolume* fFirstShield_botplate_phys;
131      G4VPhysicalVolume* fFirstShield_side_phys;
132      G4VPhysicalVolume* fFirstShield_topplate_phys;
133      G4VPhysicalVolume* fFirstShield_topcyl_phys;
134      G4VPhysicalVolume* fSecondShieldbotPlate_phys;
135      G4VPhysicalVolume* fSecondShieldside_phys;
136      G4VPhysicalVolume* fSecondShieldtopPlate_phys;
137      G4VPhysicalVolume* fSecondShieldshield_topcyl_phys;
138      G4VPhysicalVolume* fThirdShieldbotPlate_phys;
139      G4VPhysicalVolume* fThirdShieldbotCone_phys;
140      G4VPhysicalVolume* fThirdShieldtopCone_phys;
141      G4VPhysicalVolume* fThirdShieldside_phys;
142      G4VPhysicalVolume* fCryostatbotPlate_phys;
143      G4VPhysicalVolume* fCryostatbotCone_phys;
144      G4VPhysicalVolume* fCryostatbotSide_phys;
145      G4VPhysicalVolume* fCryostatmidSide_phys;
146      G4VPhysicalVolume* fCryostattopSide_phys;
147      G4VPhysicalVolume* fCryostattopCone_phys;
148      G4VPhysicalVolume* fAC_phys;
149      G4VPhysicalVolume* fACIC_phys;
150      G4VPhysicalVolume* fMesh_phys;
151      G4VPhysicalVolume* fSphere_phys;
152      G4VPhysicalVolume* fFiltercarrier_phys;
153      G4VPhysicalVolume* fBSC_phys;
154      G4VPhysicalVolume* fAlFilter_phys;
155      G4VPhysicalVolume* fTrapezoid_A_phys;
156      G4VPhysicalVolume* fTrapezoid_B_phys;
157      G4VPhysicalVolume* fTrapezoid_C_phys;
158      G4VPhysicalVolume* fTrapezoid_D_phys;
159 };
160 
161 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
162 
163 #endif
164