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 // << 26 // 7 // >> 8 // $Id: G4gsdvn2.cc,v 1.6 1999/12/05 17:50:13 gcosmo Exp $ >> 9 // GEANT4 tag $Name: geant4-03-00 $ 27 // 10 // 28 // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 11 // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 29 12 30 #include "G3Division.hh" 13 #include "G3Division.hh" 31 #include "G3VolTableEntry.hh" 14 #include "G3VolTableEntry.hh" 32 #include "G3VolTable.hh" 15 #include "G3VolTable.hh" 33 #include "globals.hh" 16 #include "globals.hh" 34 #include "G3toG4.hh" 17 #include "G3toG4.hh" 35 18 36 void G4CreateCloneVTEWithDivision(G4String vna 19 void G4CreateCloneVTEWithDivision(G4String vname, G3VolTableEntry* mvte, 37 G3DivType divType, G4int nofDiv 20 G3DivType divType, G4int nofDivisions, G4int iaxis, G4int nmed, 38 G4double c0, G4double step); 21 G4double c0, G4double step); 39 22 40 void PG4gsdvn2(G4String *tokens) { << 23 void PG4gsdvn2(G4String tokens[]) { 41 // fill the parameter containers 24 // fill the parameter containers 42 G3fillParams(tokens, PTgsdvn2); 25 G3fillParams(tokens, PTgsdvn2); 43 26 44 // interpret the parameters 27 // interpret the parameters 45 G4String vname = Spar[0]; 28 G4String vname = Spar[0]; 46 G4String vmoth = Spar[1]; 29 G4String vmoth = Spar[1]; 47 G4int ndiv = Ipar[0]; 30 G4int ndiv = Ipar[0]; 48 G4int iaxis = Ipar[1]; 31 G4int iaxis = Ipar[1]; 49 G4int numed = Ipar[2]; 32 G4int numed = Ipar[2]; 50 G4double c0 = Rpar[0]; 33 G4double c0 = Rpar[0]; 51 34 52 G4gsdvn2(vname, vmoth, ndiv, iaxis, c0, nume 35 G4gsdvn2(vname, vmoth, ndiv, iaxis, c0, numed); 53 } 36 } 54 37 55 void G4gsdvn2(G4String vname, G4String vmoth, 38 void G4gsdvn2(G4String vname, G4String vmoth, G4int ndiv, G4int iaxis, 56 G4double c0, G4int numed) 39 G4double c0, G4int numed) 57 { 40 { 58 // find mother VTE 41 // find mother VTE 59 G3VolTableEntry* mvte = G3Vol.GetVTE(vmoth); 42 G3VolTableEntry* mvte = G3Vol.GetVTE(vmoth); 60 if (mvte == 0) { 43 if (mvte == 0) { 61 G4String text = "G4gsdvn2:'" + vmoth + "' << 44 G4Exception("G4gsdvn2:'" + vmoth + "' has no VolTableEntry"); 62 G4Exception("G4gsdvn2()", "G3toG40025", Fa << 63 return; << 64 } 45 } 65 else { 46 else { 66 // a new vte clone copy with division is c 47 // a new vte clone copy with division is created 67 // for each mother (clone copy) 48 // for each mother (clone copy) 68 49 69 G4CreateCloneVTEWithDivision(vname, mvte, 50 G4CreateCloneVTEWithDivision(vname, mvte, 70 kDvn2, ndiv, 51 kDvn2, ndiv, iaxis, numed, c0, 0.); 71 } 52 } 72 } 53 } 73 54