00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef BDSSamplerSD_h
00011 #define BDSSamplerSD_h 1
00012
00013 #include "G4VSensitiveDetector.hh"
00014 #include "BDSSamplerHit.hh"
00015 #include "G4TransportationManager.hh"
00016
00017 class G4Step;
00018 class G4HCofThisEvent;
00019 class G4TouchableHistory;
00020
00021 class BDSSamplerSD : public G4VSensitiveDetector
00022 {
00023
00024 public:
00025 BDSSamplerSD(G4String name, G4String type);
00026 ~BDSSamplerSD();
00027
00028 void SetType(G4String aType);
00029
00030 void Initialize(G4HCofThisEvent*HCE);
00031 G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
00032 void EndOfEvent(G4HCofThisEvent*HCE);
00033 void clear();
00034 void DrawAll();
00035 void PrintAll();
00036
00037 private:
00038 BDSSamplerHitsCollection *SamplerCollection;
00039 G4bool StoreHit;
00040
00041
00042
00043 G4String itsType;
00044 G4String itsCollectionName;
00045
00046
00047 };
00048
00049 inline void BDSSamplerSD::SetType(G4String aType)
00050 {itsType=aType;}
00051
00052 #endif
00053