Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 /// \file biasing/B01/include/B01Run.hh 27 /// \brief Definition of the B01Run class 28 // 29 // 30 // 31 //--------------------------------------------------------------------- 32 // (Purpose) 33 // Example implementation for multi-functional-detector and 34 // primitive scorer. 35 // This B01Run class has collections which accumulate 36 // a event information into a run information. 37 // 38 //--------------------------------------------------------------------- 39 40 #ifndef B01Run_h 41 #define B01Run_h 1 42 43 #include "G4Event.hh" 44 #include "G4Run.hh" 45 #include "G4THitsMap.hh" 46 47 #include <vector> 48 // 49 class B01Run : public G4Run 50 { 51 public: 52 // constructor and destructor. 53 // vector of multifunctionaldetector name has to given to constructor. 54 B01Run(const std::vector<G4String> mfdName); 55 virtual ~B01Run(); 56 57 public: 58 // virtual method from G4Run. 59 // The method is overriden in this class for scoring. 60 virtual void RecordEvent(const G4Event*); 61 62 // Access methods for scoring information. 63 // - Number of HitsMap for this RUN. 64 // This is equal to number of collections. 65 G4int GetNumberOfHitsMap() const { return fRunMap.size(); } 66 // - Get HitsMap of this RUN. 67 // by sequential number, by multifucntional name and collection name, 68 // and by collection name with full path. 69 G4THitsMap<G4double>* GetHitsMap(G4int i) { return fRunMap[i]; } 70 G4THitsMap<G4double>* GetHitsMap(const G4String& detName, const G4String& colName); 71 G4THitsMap<G4double>* GetHitsMap(const G4String& fullName); 72 // - Dump All HitsMap of this RUN. 73 // This method calls G4THisMap::PrintAll() for individual HitsMap. 74 void DumpAllScorer(); 75 76 virtual void Merge(const G4Run*); 77 78 private: 79 std::vector<G4String> fCollName; 80 std::vector<G4int> fCollID; 81 std::vector<G4THitsMap<G4double>*> fRunMap; 82 }; 83 84 // 85 86 #endif 87