Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

GLG4BoxSD.hh

00001 // This file is part of the GenericLAND software library.
00002 // $Id: GLG4BoxSD.hh,v 1.1.1.1 2004/12/21 22:29:48 GLG4sim Exp $
00003 //
00004 //  GLG4BoxSD.hh
00005 //
00006 //   Records total number of charged and neutral crossing each plane
00007 //   above some TOTAL energy cut (by default, 1.5 MeV).  Also records
00008 //   the energy deposition per radiation length.  Also reports primary
00009 //   particle's final exiting/stopping position, time, energy.
00010 //   Granularity of histograms is 1/2 rad length.
00011 //
00012 //   Eschews Geant4 hit collection mechanism.
00013 //
00014 //   Author:  Glenn Horton-Smith, 2000/11/20
00015 //   Last modified: 2000/11/20
00016 //
00017 
00018 #ifndef GLG4BOXSD_h
00019 #define GLG4BOXSD_h 1
00020 
00021 #include "G4VSensitiveDetector.hh"
00022 #include "G4Timer.hh"
00023 
00024 class G4Step;
00025 class G4HCofThisEvent;
00026 class G4TouchableHistory;
00027 
00028 class GLG4BoxSD : public G4VSensitiveDetector
00029 {
00030 public:
00031   // member functions
00032   GLG4BoxSD(G4String name);
00033   virtual ~GLG4BoxSD();
00034   
00035   virtual void Initialize(G4HCofThisEvent*HCE);
00036   virtual void EndOfEvent(G4HCofThisEvent*HCE);
00037   virtual void clear();
00038   virtual void DrawAll();
00039   virtual void PrintAll();
00040 
00041   void SetZ0( G4double newZ0 ) { z0= newZ0; }
00042   void SetRadLength( G4double newRadLength ) { radLength= newRadLength; }
00043   void SetECut( G4double e ) { eCut= e; }
00044   void SetGCut( G4double e ) { gCut= e; }
00045   G4double GetZ0() { return z0; }
00046   G4double GetRadLength() { return radLength; }
00047   G4double GetECut() { return eCut; }
00048   G4double GetGCut() { return gCut; }
00049   
00050 protected:
00051   G4double eCut;
00052   G4double gCut;
00053   G4double radLength;
00054   G4double z0;
00055   enum {nbin= 40};
00056   G4double tot_edep;
00057   G4double h_edep[nbin];
00058   G4int h_ng[nbin], h_ne[nbin];
00059   virtual G4bool ProcessHits(G4Step*aStep,G4TouchableHistory*ROhist);
00060 };
00061 
00062 
00063 
00064 
00065 #endif

Generated on Fri Jul 6 13:31:46 2007 for GLG4sim by  doxygen 1.3.9.1