00001 #ifndef BDSMultiFacetLayer_h 00002 #define BDSMultiFacetLayer_h 00003 00004 #include "globals.hh" 00005 00006 #include "BDSScreenLayer.hh" 00007 #include "BDSLensFacet.hh" 00008 #include <vector> 00009 00010 class BDSMultiFacetLayer : public BDSScreenLayer 00011 { 00012 public: 00013 BDSMultiFacetLayer(G4String name, BDSLensFacet* facet, G4double gapWidth, G4double nFacets); 00014 ~BDSMultiFacetLayer(); 00015 00016 private: 00017 void computeDimensions(); 00018 void build(); 00019 void buildScreen(); 00020 void placeFacet(G4double xPos); 00021 void placeFacets(); 00022 BDSLensFacet* _facet; 00023 std::vector<G4ThreeVector> _facetPos; 00024 G4double _gapWidth; 00025 G4double _nFacets; 00026 }; 00027 00028 #endif