00001 #ifndef BDSCCDChip_h
00002 #define BDSCCDChip_h
00003
00004 #include "globals.hh"
00005 #include "BDSCCDPixel.hh"
00006 #include "G4LogicalVolume.hh"
00007
00008 #include "G4UserLimits.hh"
00009 #include "G4VisAttributes.hh"
00010 #include "G4VSolid.hh"
00011 #include <vector>
00012 #include "G4TwoVector.hh"
00013 #include "G4ThreeVector.hh"
00014
00015 class BDSCCDChip
00016 {
00017 public:
00018 BDSCCDChip(G4String aName, G4ThreeVector pixelSize, G4TwoVector nPixels);
00019 ~BDSCCDChip();
00020 inline G4LogicalVolume* log(){return _log;}
00021 inline G4String name(){return _name;}
00022 inline G4ThreeVector size(){return _size;}
00023
00024 protected:
00025
00026 private:
00027 void computeDimensions();
00028 void build();
00029 void buildMotherVolume();
00030 void buildPixels();
00031
00032
00033
00034 G4LogicalVolume* _log;
00035 G4VSolid* _solid;
00036 BDSCCDPixel* _pixel;
00037
00038 private:
00039 const G4TwoVector _nPixels;
00040 G4ThreeVector _size;
00041 G4String _name;
00042 };
00043
00044 #endif