00001
00002
00003
00004
00005
00006
00007 #ifndef BDSEnergyCounterSD_h
00008 #define BDSEnergyCounterSD_h 1
00009
00010 #include "G4VSensitiveDetector.hh"
00011 #include "BDSEnergyCounterHit.hh"
00012 #include "G4Navigator.hh"
00013 #include "G4TransportationManager.hh"
00014 #include "G4GFlashSpot.hh"
00015 #include "G4VGFlashSensitiveDetector.hh"
00016
00017 class G4Step;
00018 class G4HCofThisEvent;
00019 class G4TouchableHistory;
00020
00021 class BDSEnergyCounterSD : public G4VSensitiveDetector, public G4VGFlashSensitiveDetector
00022 {
00023
00024 public:
00025 BDSEnergyCounterSD(G4String name);
00026 ~BDSEnergyCounterSD();
00027
00028 void Initialize(G4HCofThisEvent*HCE);
00029 G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
00030 G4bool ProcessHits(G4GFlashSpot*aSpot ,G4TouchableHistory* ROhist);
00031 void EndOfEvent(G4HCofThisEvent*HCE);
00032 void clear();
00033 void DrawAll();
00034 void PrintAll();
00035
00036
00037 private:
00038 G4bool verbose;
00039 G4String itsName;
00040 BDSEnergyCounterHitsCollection *BDSEnergyCounterCollection;
00041 G4int* HitID;
00042 G4double enrg;
00043 G4double xpos;
00044 G4double ypos;
00045 G4double zpos;
00046 };
00047
00048
00049
00050 #endif
00051