LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Closed Thread
  Search this Thread
Old 10-17-2012, 04:58 AM   #1
prabir banik
LQ Newbie
 
Registered: Oct 2012
Posts: 2

Rep: Reputation: Disabled
terminate called after throwing an instance of 'std::logic_error'


I have installed geant4.9.4.p02 with clhep-2.1.0.1.tgz from Geant4_9_4_p02_Linux_Installation.htm.When I compile xray_fluorescence example I get this warning:

In file included from src/XrayFluoDetectorConstruction.cc:52:
/home/pbanik/geant4/geant4.9.4/source/run/include/G4RunManager.hh: In member function‘voidG4RunManager::SetRandomNumberStoreDir(const G4String&)’:
/home/pbanik/geant4/geant4.9.4/source/run/include/G4RunManager.hh:358: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result

when I run the program,I get:

terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct NULL not valid
Aborted

# please help me so that I can solve it.I will be thankful for your reply.
I think the problem is in my XrayFluoSimulation.cc file.

For information I have
**XrayFluoSimulation.cc file:
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: XrayFluoSimulation.cc
//
// Author: Elena Guardincerri
//
// History:
// -----------
// 28 Nov 2001 Elena Guardincerri Created
// 24 Ago 2002 Splitted in a separet class Alfonso Mantero
//
// -------------------------------------------------------------------
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "Randomize.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
#endif
#ifdef G4UI_USE
#include "G4UIExecutive.hh"
#endif
#include "XrayFluoDetectorConstruction.hh"
#include "XrayFluoPlaneDetectorConstruction.hh"
#include "XrayFluoMercuryDetectorConstruction.hh"
#include "XrayFluoPhysicsList.hh"
#include "XrayFluoPrimaryGeneratorAction.hh"
#include "XrayFluoPlanePrimaryGeneratorAction.hh"
#include "XrayFluoMercuryPrimaryGeneratorAction.hh"
#include "XrayFluoRunAction.hh"
#include "XrayFluoEventAction.hh"
#include "XrayFluoSteppingAction.hh"
#include "XrayFluoSteppingVerbose.hh"
#include "XrayFluoSimulation.hh"
#ifdef G4ANALYSIS_USE
#include "XrayFluoAnalysisManager.hh"
#endif
using namespace CLHEP;

XrayFluoSimulation::XrayFluoSimulation(G4int seed):dir(seed)

{ }

XrayFluoSimulation::~XrayFluoSimulation()

{ }

void XrayFluoSimulation::RunSimulation(int argc,char* argv[])
{

// choose the Random engine
CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine);
CLHEP::HepRandom::setTheSeed(dir);

//XrayFluo Verbose output class
G4VSteppingVerbose::SetInstance(new XrayFluoSteppingVerbose);

// Construct the default run manager
G4RunManager * runManager = new G4RunManager;

// set mandatory initialization

XrayFluoPhysicsList* xrayList = 0;

// chosing Geometry setup

G4int geometryNumber;

if (argc == 3){
geometryNumber = atoi(argv[2]);

}
while ( (geometryNumber != 1) && (geometryNumber !=2) && (geometryNumber !=3) && (geometryNumber !=4)) {
G4cout << "Please Select Simulation Geometrical Set-Up: "<< G4endl;
G4cout << "1 - Test Beam" << G4endl;
G4cout << "2 - Infinite Plane" << G4endl;
G4cout << "3 - Planet and Sun"<< G4endl;
G4cout << "4 - Phase-Space Production"<< G4endl;


G4cin >> geometryNumber;
}

XrayFluoDetectorConstruction* testBeamDetector = 0;
XrayFluoPlaneDetectorConstruction* planeDetector = 0;
XrayFluoMercuryDetectorConstruction* mercuryDetector = 0;



if (geometryNumber == 1 || geometryNumber == 4) {
testBeamDetector = XrayFluoDetectorConstruction::GetInstance();
if (geometryNumber == 4) {
testBeamDetector->PhaseSpaceOn();
}
runManager->SetUserInitialization(testBeamDetector);
xrayList = new XrayFluoPhysicsList(testBeamDetector);
}
else if (geometryNumber == 2) {
planeDetector = XrayFluoPlaneDetectorConstruction::GetInstance();
runManager->SetUserInitialization(planeDetector);
xrayList = new XrayFluoPhysicsList(planeDetector);
}
else if (geometryNumber == 3) {
mercuryDetector = XrayFluoMercuryDetectorConstruction::GetInstance();
runManager->SetUserInitialization(mercuryDetector);
xrayList = new XrayFluoPhysicsList(mercuryDetector);
}


runManager->SetUserInitialization(xrayList);

#ifdef G4VIS_USE
//visualization manager
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif

#ifdef G4ANALYSIS_USE
// set analysis to have the messenger running...
XrayFluoAnalysisManager* analysis = XrayFluoAnalysisManager::getInstance();
#endif
XrayFluoEventAction* eventAction = 0;
XrayFluoRunAction* runAction = new XrayFluoRunAction();
XrayFluoSteppingAction* stepAction = new XrayFluoSteppingAction();


//Selecting the PrimaryGenerator depending upon Geometry setup selected

if (geometryNumber == 1 || geometryNumber == 4) {
if (geometryNumber == 4) {
#ifdef G4ANALYSIS_USE
analysis->PhaseSpaceOn();
analysis->CreatePersistency();
#endif
}
eventAction = new XrayFluoEventAction(testBeamDetector);
runManager->SetUserAction(new XrayFluoPrimaryGeneratorAction(testBeamDetector));
}

else if (geometryNumber == 2) {
eventAction = new XrayFluoEventAction(planeDetector);
runManager->SetUserAction(new XrayFluoPlanePrimaryGeneratorAction(planeDetector));
}

else if (geometryNumber == 3) {
stepAction->SetMercuryFlag(true);
eventAction = new XrayFluoEventAction(mercuryDetector);
runManager->SetUserAction(new XrayFluoMercuryPrimaryGeneratorAction(mercuryDetector));
}

runManager->SetUserAction(eventAction);
runManager->SetUserAction(runAction);
runManager->SetUserAction(stepAction);

//Initialize G4 kernel
runManager->Initialize();

// get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();

if (argc == 1) // Define UI session for interactive mode.
{
#ifdef G4UI_USE
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
#ifdef G4VIS_USE
UImanager->ApplyCommand("/control/execute initInter.mac");
#endif
if (ui->IsGUI())
UImanager->ApplyCommand("/control/execute gui.mac");
ui->SessionStart();
delete ui;
#endif
}
else // Batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}

// job termination

#ifdef G4VIS_USE
delete visManager;
G4cout << "visManager deleted"<< G4endl;
#endif

// if (testBeamDetector) delete testBeamDetector;
// if (planeDetector) delete planeDetector;
// if (mercuryDetector) delete mercuryDetector;


delete runManager;



}

Last edited by prabir banik; 10-18-2012 at 02:35 AM.
 
Old 10-19-2012, 06:10 AM   #2
colucix
LQ Guru
 
Registered: Sep 2003
Location: Bologna
Distribution: CentOS 6.5 OpenSuSE 12.3
Posts: 10,509

Rep: Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983Reputation: 1983
Please post your thread in only one forum. Posting a single thread in the most relevant forum will make it easier for members to help you and will keep the discussion in one place. This thread is being closed because it is a duplicate of http://www.linuxquestions.org/questi...ce-4175432470/
 
  


Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Please help I get this error: terminate called after throwing an instance of 'int' doublec16 Programming 6 03-21-2012 03:20 PM
[SOLVED] 'std::logic_error' shamjs Programming 4 12-02-2011 06:00 AM
terminate called after throwing an instance of 'std::bad_alloc' mayankladoia Programming 6 07-16-2010 07:54 PM
broken apt-get std::logic_error miner49er Debian 4 03-21-2006 06:18 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 05:10 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration