00001 /* BDSIM code. Version 1.0 00002 Author: Grahame A. Blair, Royal Holloway, Univ. of London. 00003 Last modified 24.7.2002 00004 Copyright (c) 2002 by G.A.Blair. ALL RIGHTS RESERVED. 00005 */ 00006 00007 #ifndef BDSSampler_h 00008 #define BDSSampler_h 00009 00010 #include "globals.hh" 00011 #include "BDSAcceleratorComponent.hh" 00012 #include "BDSSamplerSD.hh" 00013 00014 class BDSSampler : public BDSAcceleratorComponent 00015 { 00016 public: 00017 BDSSampler(G4String name, 00018 G4double length); 00019 ~BDSSampler(); 00020 00021 static int GetNSamplers(); 00022 static void AddExternalSampler(G4String outputName); 00023 00025 static std::vector <G4String> outputNames; 00026 00028 static BDSSamplerSD* GetSensitiveDetector(){return SensitiveDetector;} 00029 00034 friend class BDSBeamline; 00035 00036 private: 00037 virtual void BuildContainerLogicalVolume(); 00038 00040 int nThisSampler; 00042 static int nSamplers; 00044 static BDSSamplerSD* SensitiveDetector; 00045 }; 00046 00047 #endif