Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/exoticphysics/saxs/include/SAXSDetectorConstruction.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 ]

Diff markup

Differences between /examples/extended/exoticphysics/saxs/include/SAXSDetectorConstruction.hh (Version 11.3.0) and /examples/extended/exoticphysics/saxs/include/SAXSDetectorConstruction.hh (Version 10.3)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 /// \file SAXSDetectorConstruction.hh             
 27 /// \brief Implementation of the SAXSDetectorC    
 28 //                                                
 29 //....oooOO0OOooo........oooOO0OOooo........oo    
 30                                                   
 31 #ifndef SAXSDetectorConstruction_h                
 32 #  define SAXSDetectorConstruction_h 1            
 33 #endif                                            
 34                                                   
 35 #include "SAXSDetectorConstructionMessenger.hh    
 36                                                   
 37 #include "G4Box.hh"                               
 38 #include "G4Element.hh"                           
 39 #include "G4ElementTable.hh"                      
 40 #include "G4ExtendedMaterial.hh"                  
 41 #include "G4LogicalVolume.hh"                     
 42 #include "G4Material.hh"                          
 43 #include "G4MaterialTable.hh"                     
 44 #include "G4NistManager.hh"                       
 45 #include "G4RunManager.hh"                        
 46 #include "G4Tubs.hh"                              
 47 #include "G4VPhysicalVolume.hh"                   
 48 #include "G4VUserDetectorConstruction.hh"         
 49 #include "globals.hh"                             
 50                                                   
 51 //....oooOO0OOooo........oooOO0OOooo........oo    
 52                                                   
 53 /// Detector construction.                        
 54                                                   
 55 class SAXSDetectorConstruction : public G4VUse    
 56 {                                                 
 57   public:                                         
 58     SAXSDetectorConstruction();                   
 59     ~SAXSDetectorConstruction();                  
 60                                                   
 61     void DefineMaterials();                       
 62     void SetGeometricalVariables();               
 63                                                   
 64     virtual G4VPhysicalVolume* Construct();       
 65                                                   
 66     G4LogicalVolume* GetSensitiveVolume() cons    
 67     G4LogicalVolume* GetPhantom() const { retu    
 68                                                   
 69   protected:                                      
 70     G4LogicalVolume* fSensitiveVolume;            
 71                                                   
 72   private:                                        
 73     virtual void ConstructSDandField();           
 74                                                   
 75     SAXSDetectorConstructionMessenger* fMessen    
 76                                                   
 77     G4bool fIWantSlits;                           
 78                                                   
 79     //-----------------definition of Volumes--    
 80     // World                                      
 81     G4Box* fWorldSolid;                           
 82     G4LogicalVolume* fWorldLogic;                 
 83     G4VPhysicalVolume* fWorldPhysical;            
 84                                                   
 85     // Phantom                                    
 86     G4LogicalVolume* fPhantomLogic;               
 87     G4VPhysicalVolume* fPhantomPhysical;          
 88     G4Material* fPhantomMaterial;                 
 89     G4int fPhantomMaterialIndex;                  
 90                                                   
 91     // Slits                                      
 92     G4LogicalVolume* fSlit1Logic;                 
 93     G4LogicalVolume* fSlit2Logic;                 
 94     G4LogicalVolume* fSlit3Logic;                 
 95     G4LogicalVolume* fSlit4Logic;                 
 96     G4VPhysicalVolume* fSlit1Physical;            
 97     G4VPhysicalVolume* fSlit2Physical;            
 98     G4VPhysicalVolume* fSlit3Physical;            
 99     G4VPhysicalVolume* fSlit4Physical;            
100                                                   
101     // Detector                                   
102     G4LogicalVolume* fDetectorLogic;              
103     G4VPhysicalVolume* fDetectorPhysical;         
104                                                   
105     // Shielding                                  
106     G4LogicalVolume* fShieldingLogic;             
107     G4VPhysicalVolume* fShieldingPhysical;        
108     G4LogicalVolume* fShieldingBackLogic;         
109     G4VPhysicalVolume* fShieldingBackPhysical;    
110                                                   
111     //--------------------definition of Materi    
112     // materials for MIFF study                   
113     G4Material* fFat;                             
114     G4Material* fWater;                           
115     G4Material* fBoneMatrix;                      
116     G4Material* fMineral;                         
117     G4Material* fMedMat;                          
118     G4Material* fPMMA;                            
119     G4Material* fAdipose;                         
120     G4Material* fGlandular;                       
121     G4Material* fBreast5050;                      
122     G4Material* fcarcinoma;                       
123     G4Material* fLexan;                           
124     G4Material* fKapton;                          
125     G4Material* fNylon;                           
126     G4Material* fPolyethylene;                    
127     G4Material* fPolystyrene;                     
128     G4Material* fGrayMatter;                      
129     G4Material* fWhiteMatter;                     
130     G4Material* fbeefBlood;                       
131     G4Material* fFormaline;                       
132     G4Material* fAcetone;                         
133     G4Material* fHperoxide;                       
134     G4Material* fCIRS3070;                        
135     G4Material* fCIRS5050;                        
136     G4Material* fCIRS7030;                        
137     G4Material* fRMI454;                          
138     G4Material* fBone;                            
139     G4Material* ffatLowX;                         
140     G4Material* fbonematrixLowX;                  
141     G4Material* fdryBoneLowX;                     
142     G4Material* fliver;                           
143     G4Material* fkidney;                          
144                                                   
145     // custom material                            
146     G4ExtendedMaterial* fCustomMat;               
147     G4double fCustomMatDensity;                   
148     G4double fCustomMatHmassfract;                
149     G4double fCustomMatCmassfract;                
150     G4double fCustomMatNmassfract;                
151     G4double fCustomMatOmassfract;                
152     G4double fCustomMatNamassfract;               
153     G4double fCustomMatPmassfract;                
154     G4double fCustomMatSmassfract;                
155     G4double fCustomMatClmassfract;               
156     G4double fCustomMatKmassfract;                
157     G4double fCustomMatCamassfract;               
158     G4String fCustomMatFF;                        
159                                                   
160     // definitions of variables for MedMat com    
161     G4double fComp0, fComp1, fComp2, fComp3;      
162                                                   
163     // other materials                            
164     G4Material* fAir;                             
165     G4Material* fTungsten;                        
166     G4Material* fLead;                            
167     G4Material* fGe;                              
168                                                   
169     //-------------definition of Geometrical V    
170     // World                                      
171     G4double fWorldSize;                          
172                                                   
173     // Phantom                                    
174     G4double fPhantomDiameter;                    
175     G4double fPhantomHeight;                      
176     G4double fPhantomZ;                           
177                                                   
178     // setup angle (rad)                          
179     G4double fthetaSetup;                         
180                                                   
181     // Slits                                      
182     G4double fSlitSize;                           
183     G4double fSlit1Thickness;                     
184     G4double fSlit2Thickness;                     
185     G4double fSlit3Thickness;                     
186     G4double fSlit4Thickness;                     
187     G4double fSlit1SampleDistance;  // center-    
188     G4double fSlit2SampleDistance;                
189     G4double fSlit3SampleDistance;                
190     G4double fSlit4SampleDistance;                
191     G4double fSlit1xAperture;                     
192     G4double fSlit2xAperture;                     
193     G4double fSlit3xAperture;                     
194     G4double fSlit4xAperture;                     
195     G4double fSlit1yAperture;                     
196     G4double fSlit2yAperture;                     
197     G4double fSlit3yAperture;                     
198     G4double fSlit4yAperture;                     
199                                                   
200     // Detector                                   
201     G4double fDetectorThickness;                  
202     G4double fDetectorSize;                       
203     G4double fDetectorSampleDistance;  // cent    
204                                                   
205     // Shielding                                  
206     G4double fShieldingThickness;                 
207                                                   
208     //-------------set methods for the messeng    
209   public:                                         
210     void SetCustomMatFF(const G4String& ffname    
211                                                   
212     void SetCustomMatDensity(G4double csd) { f    
213     void SetCustomMatHmassfract(G4double csHmf    
214     void SetCustomMatCmassfract(G4double csCmf    
215     void SetCustomMatNmassfract(G4double csNmf    
216     void SetCustomMatOmassfract(G4double csOmf    
217     void SetCustomMatNamassfract(G4double csNa    
218     void SetCustomMatPmassfract(G4double csPmf    
219     void SetCustomMatSmassfract(G4double csSmf    
220     void SetCustomMatClmassfract(G4double csCl    
221     void SetCustomMatKmassfract(G4double csKmf    
222     void SetCustomMatCamassfract(G4double csCa    
223                                                   
224     void SetPhantomMaterial(G4int mat) { fPhan    
225                                                   
226     void SetPhantomDiameter(G4double diam) { f    
227     void SetPhantomHeight(G4double ht) { fPhan    
228     void SetPhantomZ(G4double PhZ) { fPhantomZ    
229                                                   
230     void SetComp0(G4double c0) { fComp0 = c0;     
231     void SetComp1(G4double c1) { fComp1 = c1;     
232     void SetComp2(G4double c2) { fComp2 = c2;     
233     void SetComp3(G4double c3) { fComp3 = c3;     
234                                                   
235     void SetThetaSetup(G4double theta) { fthet    
236                                                   
237     void SetSlits(G4bool bslits) { fIWantSlits    
238     void SetSlit1Thickness(G4double sl1th) { f    
239     void SetSlit2Thickness(G4double sl2th) { f    
240     void SetSlit3Thickness(G4double sl3th) { f    
241     void SetSlit4Thickness(G4double sl4th) { f    
242     void SetSlit1SampleDistance(G4double slSam    
243     void SetSlit2SampleDistance(G4double slSam    
244     void SetSlit3SampleDistance(G4double slSam    
245     void SetSlit4SampleDistance(G4double slSam    
246     void SetSlit1xAperture(G4double aperture1x    
247     void SetSlit2xAperture(G4double aperture2x    
248     void SetSlit3xAperture(G4double aperture3x    
249     void SetSlit4xAperture(G4double aperture4x    
250     void SetSlit1yAperture(G4double aperture1y    
251     void SetSlit2yAperture(G4double aperture2y    
252     void SetSlit3yAperture(G4double aperture3y    
253     void SetSlit4yAperture(G4double aperture4y    
254                                                   
255     void SetDetectorSize(G4double detSize) { f    
256     void SetDetectorThickness(G4double detTh)     
257     void SetDetectorSampleDistance(G4double de    
258 };                                                
259 //....oooOO0OOooo........oooOO0OOooo........oo    
260