MollerTarget.hh

Go to the documentation of this file.
00001 /**
00002  
00003    \file MollerTarget.hh
00004    \author Peiqing Wang
00005    
00006    \class MollerTarget   
00007    \brief Definition of the Target
00008 */
00009 
00010 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00011 #ifndef MollerTarget_h
00012 #define MollerTarget_h 1
00013 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00014 
00015 // geant4 includes
00016 #include "G4Material.hh"
00017 #include "G4LogicalVolume.hh"
00018 
00019 // system includes
00020 //#include "cpp_include.h"
00021 //#include "Root_include.h"
00022 //#include "Geant4_include.hh" 
00023 
00024 // user includes
00025 //#include "MollerTargetMessenger.hh"
00026 //#include "MollerUserInformation.hh"
00027 #include "MollerMaterial.hh"
00028 
00029 #include "G4Tubs.hh"
00030 #include "G4Material.hh"
00031 #include "G4VisAttributes.hh"
00032 #include "G4VPhysicalVolume.hh"
00033 #include "G4PVPlacement.hh"
00034 
00035 // system classes
00036 // class G4Tubs;
00037 // class G4LogicalVolume;
00038 // class G4VPhysicalVolume;
00039 // class G4Material;
00040 // class G4VisAttributes;
00041 
00042 // user classes
00043 class MollerMaterial;
00044 class MollerTargetMessenger;
00045 
00046 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00047 
00048 class MollerTarget
00049 {
00050 public:
00051   MollerTarget();
00052   ~MollerTarget();
00053 
00054   void ConstructComponent(G4VPhysicalVolume*);
00055   void DestroyComponent();
00056   
00057   void SetTargetCenterPositionInZ(G4double);
00058   G4double GetTargetCenterPositionInZ();
00059   
00060   void SetTargetLength(G4double);
00061   G4double GetTargetLength() {return fTargetLength;};
00062   
00063   void SetTargetMaterial(G4String);
00064   G4String GetTargetMaterial();
00065   
00066   void SetTargetCellMaterial(G4String);
00067   G4String GetTargetCellMaterial();
00068 
00069   void SetTargetEntranceWindowMaterial(G4String);
00070   G4String GetTargetEntranceMaterial();
00071   
00072   void SetTargetExitWindowMaterial(G4String);
00073   G4String GetTargetExitWindowMaterial();
00074   
00075   void SetTargetExitWindowNippleMaterial(G4String);
00076   G4String GetTargetExitWindowNippleMaterial();
00077   
00078   G4LogicalVolume*   getTargetLogicalVolume()    {return TargetMaterial_Logical;} 
00079   G4VPhysicalVolume* getTargetPhysicalVolume()   {return TargetMaterial_Physical;} 
00080 
00081 private:
00082 
00083   MollerMaterial* pMaterial;
00084 
00085   G4LogicalVolume*   TargetCell_Logical; 
00086   G4VPhysicalVolume* TargetCell_Physical; 
00087   G4Material*        TargetCell_Material;  
00088 
00089   G4LogicalVolume*   TargetEntranceWindow_Logical; 
00090   G4VPhysicalVolume* TargetEntranceWindow_Physical; 
00091   G4Material*        TargetEntranceWindow_Material;  
00092   
00093   G4LogicalVolume*   TargetExitWindow_Logical; 
00094   G4VPhysicalVolume* TargetExitWindow_Physical;
00095   G4Material*        TargetExitWindow_Material;  
00096   
00097   G4LogicalVolume*   TargetExitWindowNipple_Logical; 
00098   G4VPhysicalVolume* TargetExitWindowNipple_Physical;
00099   G4Material*        TargetExitWindowNipple_Material;  
00100   
00101   G4LogicalVolume*   ScatteringChamberWindow_Logical; 
00102   G4VPhysicalVolume* ScatteringChamberWindow_Physical; 
00103   
00104   G4LogicalVolume*   TargetMaterial_Logical; 
00105   G4VPhysicalVolume* TargetMaterial_Physical; 
00106   G4Material*        Target_Material;  
00107 
00108   G4LogicalVolume*   TargetContainer_Logical; 
00109   G4VPhysicalVolume* TargetContainer_Physical; 
00110   G4Material*        TargetContainer_Material;  
00111 
00112   G4double targetCellEntranceWindowThickness;
00113   G4double targetCellExitWindowThickness;
00114   G4double targetCellExitWindowNippleThickness;
00115   G4double targetCellWallThickness;
00116 
00117   G4double targetCellInnerLength;               
00118   G4double targetCellOuterLength;
00119 
00120   G4double targetCellFrontRadiusMin;
00121   G4double targetCellFrontInnerRadiusMax;
00122   G4double targetCellFrontOuterRadiusMax;
00123 
00124   G4double targetCellBackRadiusMin;
00125   G4double targetCellBackInnerRadiusMax;
00126   G4double targetCellBackOuterRadiusMax;
00127 
00128   G4double targetCellExitWindowNippleRadius;
00129   
00130   G4double ScatteringChamberWindowRadius;
00131   G4double ScatteringChamberWindowThickness;
00132   
00133   G4double targetCellStartingPhi;
00134   G4double targetCellDeltaPhi;
00135   G4double targetZPos;
00136   
00137   G4double fTargetLength;           // Full length of the target
00138 
00139   MollerTargetMessenger* targetMessenger;  // pointer to the Messenger
00140   //MollerUserInformation *myUserInfo;
00141   
00142   G4LogicalVolume* target_logic;
00143   G4VPhysicalVolume* target_phys;
00144 
00145 };
00146 
00147 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00148 
00149 #endif

Generated on 16 Jun 2013 for mollersim by  doxygen 1.6.1