musrsim/include/musrParameters.hh
Kamil Sedlak 2f8ac8f904 13.1.2010 Kamil Sedlak
1) The filling of the root tree was called from musrScintSD.cc, which was
   problematic, because no variables were written out if there was no
   sensitive volume defined (problem for example when one wants to study
   the beam-line properties using just save volumes).
   Therefore the tree filling is now called from musrEventAction.cc.

2) A possibility to gently stop the run by creating a file with the
   name "RUNNUMBER.stop" in the working directory has been introduced.
   ("Gently" means that root output file is closed properly.)
2010-01-13 16:50:57 +00:00

69 lines
4.7 KiB
C++

/***************************************************************************
* musrSim - the program for the simulation of (mainly) muSR instruments. *
* More info on http://lmu.web.psi.ch/simulation/index.html . *
* musrSim is based od Geant4 (http://geant4.web.cern.ch/geant4/) *
* *
* Copyright (C) 2009 by Paul Scherrer Institut, 5232 Villigen PSI, *
* Switzerland *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
***************************************************************************/
#ifndef musrParameters_h
#define musrParameters_h 1
#include "globals.hh"
class musrParameters {
public:
musrParameters(G4String steeringFileName);
~musrParameters();
static musrParameters* GetInstance();
static G4String mySteeringFileName; // name of the steering file (e.g. the *.mac file)
static G4String myStopFileName; // name of the stop file (e.g. the *.stop file), which will stop the run if it is created
static G4bool storeOnlyEventsWithHits; // variable specifying whether to store interesting
// or all events into the ROOT tree. (default = true)
static G4int storeOnlyEventsWithHitInDetID; // simillar to "storeOnlyEventsWithHits". The event is stored
// only and only if there was a hit in the detector with the ID
// equal to storeOnlyEventsWithHitInDetID.
// The storeOnlyEventsWithHitInDetID has to be non zero.
static G4double signalSeparationTime; // minimim time separation between two subsequent signal
static G4bool storeOnlyTheFirstTimeHit; // if true, only the hit that happened first will be
// stored, anything else will be ignored
// (usefull for some special studies, not for a serious simulation)
static G4bool killAllPositrons; // if true, all positron tracks will be deleted (usefull for the studies of the muon beam)
static G4bool killAllGammas; //
static G4bool killAllNeutrinos; //
//cks static G4bool includeMuoniumProcesses; // If true, includes Muonium formation and all
//cks // other Mu-related processes in the simulation
static G4bool boolG4GeneralParticleSource; // if true, G4GeneralParticleSource will be initialised instead of G4ParticleGun
// - needed for the radioactive source
static G4bool boolG4OpticalPhotons; // if true, optical photons will be used (in the sensitive scintillators)
static G4bool field_DecayWithSpin; // if true, then the routins for calculating the magnetic field will
// use more precise argument. This variable is set to "true" by
// the SteppinAction and reset to "false" in the GetFieldValue.
// It is being changed on step by step basis.
static G4int nrOfEventsToBeGenerated; // Nr of events to be simulated in this run (set by /run/beamOn command)
private:
static musrParameters* pointerToParameters;
G4bool boolG4RegionRequested; // variable used internally just to check that no new volume is defined after
// a G4Region has been requested - perhaps unnecessary check, but just to be on the safe side
};
#endif