Geant4  10.02.p02
PDBlib.hh
Go to the documentation of this file.
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 // This example is provided by the Geant4-DNA collaboration
27 // Any report or published results obtained using the Geant4-DNA software
28 // shall cite the following Geant4-DNA collaboration publication:
29 // Med. Phys. 37 (2010) 4692-4708
30 // Delage et al. PDB4DNA: implementation of DNA geometry from the Protein Data
31 // Bank (PDB) description for Geant4-DNA Monte-Carlo
32 // simulations (submitted to Comput. Phys. Commun.)
33 // The Geant4-DNA web site is available at http://geant4-dna.org
34 //
35 // --------------------------------------------------------------
36 // Authors: E. Delage
37 // november 2013
38 // --------------------------------------------------------------
39 //
40 // $Id$
41 //
44 
45 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
46 
47 #ifndef PDBlib_h
48 #define PDBlib_h 1
49 
50 #include "PDBbarycenter.hh"
51 #include "PDBmolecule.hh"
52 #include <vector>
53 
55 
58 class PDBlib
59 {
60 public:
62  PDBlib();
64  ~PDBlib() {};
65 
67  Molecule* Load( const string &filename,
68  unsigned short int &isDNA,
69  unsigned short int verbose);
70 
71  // All declarations below are 'DNA specific'
72  // Just comment those lines if you need to use this code elsewhere.
73 
76 
78  void ComputeBoundingVolumeParams(Molecule *moleculeListTemp,
79  double &dX,double &dY,double &dZ, //Dimensions for bounding volume
80  double &tX,double &tY,double &tZ); //Translation for bounding volume
81 
83  void ComputeNbNucleotidsPerStrand(Molecule * moleculeListTemp);
84 
86  unsigned short int ComputeMatchEdepDNA(Barycenter *,Molecule *,
87  double x, double y,double z,
88  int &numStrand, int &numNucleotid, int &codeResidue);
89 
90 private:
92  double DistanceTwo3Dpoints(double xA,double xB,
93  double yA,double yB,
94  double zA,double zB);
95 
98 };
99 
100 #endif
101 
102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Molecule Class.
PDBlib Class.
Definition: PDBlib.hh:58
Molecule Class.
Definition: PDBmolecule.hh:62
G4double z
Definition: TRTMaterials.hh:39
Barycenter * ComputeNucleotideBarycenters(Molecule *moleculeListTemp)
Compute nucleotide barycenter from memory.
Definition: PDBlib.cc:480
double DistanceTwo3Dpoints(double xA, double xB, double yA, double yB, double zA, double zB)
return distance between two 3D points
Definition: PDBlib.cc:892
Definition of the Barycenter class.
void ComputeNbNucleotidsPerStrand(Molecule *moleculeListTemp)
Compute number of nucleotide per strand.
Definition: PDBlib.cc:736
unsigned short int ComputeMatchEdepDNA(Barycenter *, Molecule *, double x, double y, double z, int &numStrand, int &numNucleotid, int &codeResidue)
Compute if energy is deposited in per atom.
Definition: PDBlib.cc:772
Definition of the PDBmolecule class.
Molecule * Load(const string &filename, unsigned short int &isDNA, unsigned short int verbose)
Load PDB file into memory.
Definition: PDBlib.cc:73
const G4double x[NPOINTSGL]
int fNbNucleotidsPerStrand
Number of nucleotid per strand.
Definition: PDBlib.hh:97
void ComputeBoundingVolumeParams(Molecule *moleculeListTemp, double &dX, double &dY, double &dZ, double &tX, double &tY, double &tZ)
Compute the corresponding bounding volume parameters.
Definition: PDBlib.cc:667
~PDBlib()
Destructor.
Definition: PDBlib.hh:64
PDBlib()
First constructor.
Definition: PDBlib.cc:58