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

LCDG4CalSDProj.hh

Go to the documentation of this file.
00001 #ifndef LCDG4CalSDProj_h
00002 #define LCDG4CalSDProj_h 1
00003 
00004 #include "LCDG4CalSD.hh"
00005 #include <map>
00006 
00007 // XML
00008 #include "xercesc/dom/deprecated/DOM_Element.hpp"
00009 
00010 class G4Step;
00011 class G4HCofThisEvent;
00012 class G4TouchableHistory;
00013 
00014 /* SensitiveDetector for a projective calorimeter-like subdetector */
00015 
00016 class LCDG4CalSDProj : public LCDG4CalSD {
00017 
00018 public:
00019   // constructor
00020   LCDG4CalSDProj(G4String name,
00021                  const XERCES_CPP_NAMESPACE::DOM_Element& voldb);
00022   // destructor
00023   ~LCDG4CalSDProj();
00024 
00025 public:
00026   //*** Mandatory implementation methods
00027   // find calorimeter cell from a given position
00028   unsigned int findCell(const G4ThreeVector& position);
00029   // get cell center
00030   G4ThreeVector getCellCenter(unsigned int cellIndex);
00031   // get cell indices which depend on virtual cells
00032   unsigned int getIndex1(unsigned int cellIndex) const;
00033   unsigned int getIndex2(unsigned int cellIndex) const;
00034   unsigned int getIndex3(unsigned int cellIndex) const;
00035 
00036 //   void SetSegmentation(G4int phiseg, G4int thetaseg, G4int barend)
00037 //   {
00038 //     m_phiseg[barend] = phiseg;
00039 //     m_thetaseg[barend] = thetaseg;
00040 //   }
00041 
00042 private:
00043   // Projective phi segmentation (not used for non-projective geom)
00044   G4int _phiseg;
00045   // Projective theta segmentation (not used for non-projective geom)
00046   G4int _thetaseg;
00047 };
00048 
00049 #endif // LCDG4CalSDProj_h

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