Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

LCDG4LumSD.hh

Go to the documentation of this file.
00001 // ----------------------------------------------------------------------------
00002 // $Id: LCDG4LumSD.hh,v 1.9 2004/08/17 23:22:04 uid561 Exp $
00003 // ----------------------------------------------------------------------------
00004 
00005 #ifndef LCDG4LumSD_h
00006 #define LCDG4LumSD_h 1
00007 
00008 #include "LCDG4CalHit.hh"
00009 
00010 #include "G4VSensitiveDetector.hh"
00011 #include <map>
00012 #include "G4LogicalVolume.hh"
00013 
00014 class G4Step;
00015 class G4HCofThisEvent;
00016 class G4TouchableHistory;
00017 
00018 class LCDG4LumSD : public G4VSensitiveDetector {
00019 
00020 public:
00021   LCDG4LumSD(G4String name);
00022   ~LCDG4LumSD();
00023 
00024   void Initialize(G4HCofThisEvent*HCE);
00025   G4bool ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist);
00026   void EndOfEvent(G4HCofThisEvent*HCE);
00027   void clear();
00028   void DrawAll();
00029   void PrintAll();
00030 
00031 public:
00032   G4int AddLogVolInfo
00033   (G4LogicalVolume* g4vxdlog,G4int startlayerNo,G4int sysNo,G4int be,G4int ns,
00034    G4int fsens);
00035   void SetSegmentation(G4int phiseg, G4int thetaseg, G4int barend)
00036   { m_phiseg[barend] = phiseg; m_thetaseg[barend] = thetaseg; }
00037 
00038 private:
00039   LCDG4CalHitsCollection          *m_lumCollection;
00040   std::map<G4LogicalVolume*,G4int> m_maplayer;
00041   std::map<G4LogicalVolume*,G4int> m_mapsys;
00042   std::map<G4LogicalVolume*,G4int> m_mapbe;
00043   std::map<G4LogicalVolume*,G4int> m_mapns;
00044   std::map<G4LogicalVolume*,G4int> m_mapsens;
00045   std::map<G4int,LCDG4CalHit*>     m_cellhitb;
00046   std::map<G4int,LCDG4CalHit*>     m_cellhite;
00047   G4int m_phiseg[2];
00048   G4int m_thetaseg[2];
00049 
00050 };
00051 
00052 #endif

Generated on Thu Oct 7 18:44:46 2004 for LCDG4 by doxygen 1.3.4