/scratch0/jsnuveri/BDSIM/BDSIMgit/bdsim/include/BDSCCDCamera.hh

00001 #ifndef BDSCCDCamera_h
00002 #define BDSCCDCamera_h 
00003 
00004 #include "globals.hh"
00005 #include "G4LogicalVolume.hh"
00006 
00007 #include "G4VisAttributes.hh"
00008 #include "G4VSolid.hh"
00009 #include "G4PVPlacement.hh"
00010 #include "BDSCCDChip.hh"
00011 #include "BDSLens.hh"
00012 
00013 class BDSCCDCamera 
00014 {
00015 public:
00016   BDSCCDCamera();
00017   ~BDSCCDCamera();
00018   inline G4LogicalVolume* log(){return _log;}
00019   inline G4String name(){return _name;}
00020   inline G4ThreeVector size(){return _size;}
00021   inline void phys(G4PVPlacement* phys){_phys=phys;}
00022   inline G4PVPlacement* phys(){return _phys;}
00023 
00024 private:
00025   void defaultDimensions();
00026   void build();
00027   void buildCavity();
00028   void buildMotherVolume();
00029   void buildCCDChip();
00030   void buildObjectLens();
00031   void buildImageLens();
00032   void visAtt();
00033   void placeComponents();
00034   void placeCavity();
00035   void placeCCDChip();
00036   void placeObjectLens();
00037   void placeImageLens();
00038 
00039   G4ThreeVector _size;
00040   G4String _name;
00041   G4String _logName;
00042   G4String _solidName;
00043   // Geometrical objects:
00044   G4LogicalVolume* _log;
00045   G4VSolid* _solid;
00046   G4VisAttributes* _visAtt;
00047   BDSCCDChip* _ccdChip;
00048   BDSLens* _objectLens;
00049   BDSLens* _imageLens;
00050   G4PVPlacement* _phys;
00051   G4double _cavityLength;
00052   G4LogicalVolume* _cavityLog;
00053   G4PVPlacement* _cavityPhys;
00054 };
00055 
00056 #endif

Generated on 28 Jun 2015 for BDSIM by  doxygen 1.4.7