Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // 7 // 26 // G4ProcessVector << 8 // $Id: G4ProcessVector.hh,v 1.3.2.1 1999/11/11 14:31:30 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-01-00 $ 27 // 10 // 28 // Class description: << 11 // >> 12 // ------------------------------------------------------------ >> 13 // GEANT 4 class header file 29 // 14 // 30 // A container for pointers to physics process << 15 // For information related to this code contact: 31 << 16 // CERN, CN Division, ASD group 32 // Authors: G.Cosmo, H.Kurashige - 1998 << 17 // History: first implementation, based on object model of 33 // ------------------------------------------- << 18 // 2nd December 1995, G.Cosmo 34 #ifndef G4ProcessVector_hh << 19 // 35 #define G4ProcessVector_hh 1 << 20 // Class Description >> 21 // This class is a container for pointers to physics process objects. Its >> 22 // functionality is derived from G4RWTPtrOrderedVector<T>. >> 23 // ------------------------------------------------------------ 36 24 37 #include <vector> << 25 #ifndef G4ProcessVector_h >> 26 #define G4ProcessVector_h 1 38 27 39 #include "globals.hh" 28 #include "globals.hh" 40 #include "G4ios.hh" 29 #include "G4ios.hh" >> 30 #include "g4rw/tpordvec.h" 41 31 42 class G4VProcess; << 32 #include "G4VProcess.hh" 43 33 44 class G4ProcessVector << 34 class G4ProcessVector : public G4RWTPtrOrderedVector<G4VProcess> 45 { 35 { 46 public: << 36 // Is a container for pointers to physics process objects. Its 47 << 37 // functionality is derived from G4RWTPtrOrderedVector<T>. 48 G4ProcessVector(); << 49 explicit G4ProcessVector(std::size_t); << 50 G4ProcessVector(const G4ProcessVector &); << 51 // Constructors << 52 << 53 virtual ~G4ProcessVector(); << 54 // Destructor << 55 << 56 G4ProcessVector& operator=(const G4Process << 57 // Assignment operator << 58 << 59 inline G4bool operator==(const G4ProcessVe << 60 // Equality operator << 61 << 62 inline std::size_t entries() const; << 63 inline std::size_t length() const; << 64 inline std::size_t size() const; << 65 // Returns the number of items << 66 << 67 std::size_t index(G4VProcess* aProcess) co << 68 // Returns the position of the element << 69 << 70 G4bool contains(G4VProcess* aProcess) cons << 71 // Returns "true" if the element exists << 72 << 73 inline G4bool insert(G4VProcess* aProcess) << 74 // Insert an element << 75 << 76 G4bool insertAt(G4int i, G4VProcess* aProc << 77 // Insert an element at i-th position << 78 << 79 G4VProcess* removeAt(G4int i); << 80 // Remove and returns the i-th element << 81 << 82 inline G4VProcess* removeLast(); << 83 // Remove and returns the last element << 84 << 85 inline void clear(); << 86 // Clear the collection by removing all << 87 << 88 inline G4VProcess* const& operator[](G4int << 89 inline G4VProcess* const& operator()(G4int << 90 // Returns const reference to the i-th i << 91 << 92 inline G4VProcess* & operator[](G4int i); << 93 inline G4VProcess* & operator()(G4int i); << 94 // Returns reference to the i-th item << 95 38 96 protected: << 39 public: 97 40 98 using G4ProcVector = std::vector<G4VProces << 41 G4ProcessVector(size_t capac=G4RWDEFAULT_CAPACITY) >> 42 : G4RWTPtrOrderedVector<G4VProcess>(capac) {;} >> 43 // Constructor. >> 44 >> 45 virtual ~G4ProcessVector() {;} >> 46 // Destructor. >> 47 >> 48 G4bool operator==(const G4ProcessVector &right) const >> 49 { >> 50 return (this == (G4ProcessVector *) &right); >> 51 } 99 52 100 G4ProcVector* pProcVector = nullptr; << 101 }; 53 }; 102 << 54 103 #include "G4ProcessVector.icc" << 104 << 105 #endif 55 #endif 106 56