Warning, file /geant4/examples/advanced/dna/moleculardna/include/PlacementVolumeInfo.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 #ifndef MOLECULAR_PLACEMENT_VOLUME_INFO_HH
0028 #define MOLECULAR_PLACEMENT_VOLUME_INFO_HH
0029
0030 #include "globals.hh"
0031
0032 #include <map>
0033
0034 class OctreeNode;
0035
0036
0037
0038 class PlacementVolumeInfo
0039 {
0040 public:
0041 PlacementVolumeInfo() = default;
0042
0043 PlacementVolumeInfo(OctreeNode*, OctreeNode*, std::map<G4int, int64_t>);
0044
0045 virtual ~PlacementVolumeInfo() = default;
0046
0047 inline auto GetOctree() const { return fpOctree; };
0048
0049 inline auto GetHistoneOctree() const { return fpHistoneOctree; };
0050
0051 int64_t GetPairsOnChain(G4int idx) const;
0052
0053 int64_t GetTotalBasePairs() const;
0054
0055 inline int64_t GetTotalHistones() const { return fNHistones; }
0056
0057 inline void SetNHistones(G4int histone) { fNHistones += (int64_t)histone; }
0058
0059 G4int GetNumberOfChains() const { return fBasePairsInChain.size(); };
0060
0061 void SetOctree(OctreeNode* octree) { fpOctree = octree; };
0062
0063 void SetHistoneOctree(OctreeNode* octree) { fpHistoneOctree = octree; };
0064
0065 inline void SetPairsOnChain(G4int chain, int64_t pairs) { fBasePairsInChain[chain] = pairs; };
0066
0067 private:
0068 int64_t fNHistones = 0;
0069 OctreeNode* fpOctree = nullptr;
0070 OctreeNode* fpHistoneOctree = nullptr;
0071 std::map<G4int, int64_t> fBasePairsInChain;
0072 };
0073
0074
0075 #endif