Warning, file /include/Geant4/G4LocatorChangeLogger.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #ifndef G4LOCATOR_CHANGE_LOGGER_HH
0036 #define G4LOCATOR_CHANGE_LOGGER_HH
0037
0038 #include <vector>
0039 #include "G4LocatorChangeRecord.hh"
0040 #include "G4FieldTrack.hh"
0041
0042 class G4LocatorChangeLogger : public std::vector<G4LocatorChangeRecord>
0043 {
0044 public:
0045
0046 G4LocatorChangeLogger( const std::string& name ) : fName(name) {}
0047
0048 void AddRecord( G4LocatorChangeRecord && chngRecord );
0049 void AddRecord( const G4LocatorChangeRecord & chngRecord );
0050
0051
0052 inline
0053 void AddRecord( G4LocatorChangeRecord::EChangeLocation codeLocation,
0054 G4int iter,
0055 unsigned int count,
0056 const G4FieldTrack & fieldTrack );
0057
0058 friend std::ostream& operator << ( std::ostream& os,
0059 const G4LocatorChangeLogger& logR );
0060 std::ostream& StreamInfo(std::ostream& os) const;
0061
0062 static std::ostream& ReportEndChanges ( std::ostream& os,
0063 const G4LocatorChangeLogger& startA,
0064 const G4LocatorChangeLogger& endB );
0065
0066
0067
0068 private:
0069
0070 const std::string fName;
0071 };
0072
0073
0074
0075
0076
0077 void G4LocatorChangeLogger::
0078 AddRecord( G4LocatorChangeRecord::EChangeLocation codeLocation,
0079 G4int iter, unsigned int count,
0080 const G4FieldTrack & fieldTrack )
0081 {
0082 this->push_back(G4LocatorChangeRecord(codeLocation, iter, count, fieldTrack));
0083 }
0084
0085 inline
0086 void G4LocatorChangeLogger::
0087 AddRecord( const G4LocatorChangeRecord& chngRecord )
0088 {
0089 this->push_back( chngRecord );
0090 }
0091
0092 inline
0093 void G4LocatorChangeLogger::
0094 AddRecord( G4LocatorChangeRecord && chngRecord )
0095 {
0096 this->push_back( chngRecord );
0097 }
0098
0099 #endif