/home/cern/BDSIM_new/include/BDSDetectorConstruction.hh

00001 
00007 //==============================================================
00008 
00009 #ifndef BDSDetectorConstruction_h
00010 #define BDSDetectorConstruction_h 
00011 
00012 #include "G4VUserDetectorConstruction.hh"
00013 #include "globals.hh"
00014 
00015 #include"BDSMaterials.hh"
00016 
00017 #include "parser/gmad.h"
00018 
00019 class G4Box;
00020 class G4Tubs;
00021 class G4LogicalVolume;
00022 class G4VPhysicalVolume;
00023 class G4Material;
00024 class G4UniformMagField;
00025 class BDSCalorimeterSD;
00026 //class BDSMagField;
00027 class G4UserLimits;
00028 class G4VSensitiveDetector;
00029 
00030 class G4Navigator;
00031 
00032 //==============================================================
00033 
00034 class BDSDetectorConstruction : public G4VUserDetectorConstruction
00035 {
00036 public:
00037   
00038   BDSDetectorConstruction();
00039   ~BDSDetectorConstruction();
00040 
00041 public:
00042      
00043   G4VPhysicalVolume* Construct();
00044   void SetMagField(const G4double afield);
00045   void UpdateGeometry();
00046      
00047 public:
00048 
00049   private:
00050   G4Box*            solidWorld;    //pointer to the solid World 
00051   G4LogicalVolume*   logicWorld;    //pointer to the logical World
00052   G4VPhysicalVolume* physiWorld;    //pointer to the physical World
00053 
00054   void DefineMaterials();
00055 
00056   G4VPhysicalVolume* ConstructBDS(std::list<struct Element>& beamline_list);
00057   G4UniformMagField* magField;      //pointer to the magnetic field
00058   G4UserLimits* BDSUserLimits;
00059 
00060   G4VSensitiveDetector *  BDSSensitiveDetector;
00061 
00062 };
00063 
00064 #endif
00065 

Generated on Wed Mar 5 17:25:21 2008 for BDSIM by  doxygen 1.5.3