Geant4  10.03
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 
54 
57 class PDBlib
58 {
59 public:
61  PDBlib();
63  ~PDBlib() {};
64 
66  Molecule* Load(const std::string&filename,
67  unsigned short int &isDNA,
68  unsigned short int verbose);
69 
70  // All declarations below are 'DNA specific'
71  // Just comment those lines if you need to use this code elsewhere.
72 
75 
77  void ComputeBoundingVolumeParams(Molecule *moleculeListTemp,
78  double &dX,double &dY,double &dZ, //Dimensions for bounding volume
79  double &tX,double &tY,double &tZ); //Translation for bounding volume
80 
82  void ComputeNbNucleotidsPerStrand(Molecule * moleculeListTemp);
83 
85  unsigned short int ComputeMatchEdepDNA(Barycenter *,Molecule *,
86  double x, double y,double z,
87  int &numStrand, int &numNucleotid, int &codeResidue);
88 
89 private:
91  double DistanceTwo3Dpoints(double xA,double xB,
92  double yA,double yB,
93  double zA,double zB);
94 
97 };
98 
99 #endif
100 
101 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Molecule Class.
PDBlib Class.
Definition: PDBlib.hh:57
Molecule * Load(const std::string &filename, unsigned short int &isDNA, unsigned short int verbose)
Load PDB file into memory.
Definition: PDBlib.cc:83
Molecule Class.
Definition: PDBmolecule.hh:58
Barycenter * ComputeNucleotideBarycenters(Molecule *moleculeListTemp)
Compute nucleotide barycenter from memory.
Definition: PDBlib.cc:452
double DistanceTwo3Dpoints(double xA, double xB, double yA, double yB, double zA, double zB)
return distance between two 3D points
Definition: PDBlib.cc:884
Definition of the Barycenter class.
void ComputeNbNucleotidsPerStrand(Molecule *moleculeListTemp)
Compute number of nucleotide per strand.
Definition: PDBlib.cc:726
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:760
Definition of the PDBmolecule class.
int fNbNucleotidsPerStrand
Number of nucleotid per strand.
Definition: PDBlib.hh:96
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:662
~PDBlib()
Destructor.
Definition: PDBlib.hh:63
PDBlib()
First constructor.
Definition: PDBlib.cc:66