Page MenuHomeHEPForge

No OneTemporary

Index: trunk/src/TableGeneratorSettings.cpp
===================================================================
--- trunk/src/TableGeneratorSettings.cpp (revision 115)
+++ trunk/src/TableGeneratorSettings.cpp (revision 116)
@@ -1,223 +1,228 @@
//==============================================================================
// TableGeneratorSettings.cpp
//
// Copyright (C) 2010-2013 Tobias Toll and Thomas Ullrich
//
// This file is part of Sartre version: 1.1
//
// 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.
// 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, see <http://www.gnu.org/licenses/>.
//
// Author: Tobias Toll
// Last update:
// $Date$
// $Author$
//==============================================================================
#include "Settings.h"
#include "TableGeneratorSettings.h"
#include "Constants.h"
#include <cmath>
#include <ctime>
#include <stdlib.h>
TableGeneratorSettings* TableGeneratorSettings::mInstance = 0; // initialize static
TableGeneratorSettings* TableGeneratorSettings::instance()
{
if (mInstance == 0)
mInstance = new TableGeneratorSettings;
return mInstance;
}
TableGeneratorSettings::TableGeneratorSettings()
{
//
// Register all the parameters that can be defined
// via a runcard.
// Arguments for registerParameter():
// 1. pointer to data memeber
// 2. text string to be used in the runcard
// 3. default parameter set
//
registerParameter(&mVerbose, "verbose", false);
registerParameter(&mVerboseLevel, "verboseLevel", 0);
registerParameter(&mA, "A", static_cast<unsigned int>(1));
registerParameter(&mVectorMesonId, "vectorMesonId", 443); // jpsi
registerParameter(&mDipoleModelName, "dipoleModel", string("bSat"));
registerParameter(&mBSatLookupPath, "bSatLookupPath", string("./"));
registerParameter(&mQ2min, "Q2min", 0.1);
registerParameter(&mQ2max, "Q2max", 100.);
registerParameter(&mWmin, "Wmin", 5.);
registerParameter(&mWmax, "Wmax", 100.);
registerParameter(&mTmin, "tmin", -2.);
registerParameter(&mTmax, "tmax", 0.);
registerParameter(&mQ2bins, "Q2bins", static_cast<unsigned int>(1e3));
registerParameter(&mW2bins, "W2bins", static_cast<unsigned int>(1e3));
registerParameter(&mTbins, "tbins", static_cast<unsigned int>(1e3));
registerParameter(&mRootfile, "rootfile", string("sartre"));
registerParameter(&mSeed, "seed", static_cast<unsigned int>(time(0)));
registerParameter(&mNumberOfConfigurations, "numberOfConfigurations", static_cast<unsigned int>(1000));
registerParameter(&mUseBackupFile, "useBackupFile", false);
registerParameter(&mStartingBinFromBackup, "startingBinFromBackup", 0);
registerParameter(&mStartBin, "startBin", -1);
registerParameter(&mEndBin, "endBin", -1);
registerParameter(&mModesToCalculate, "modesToCalculate", 0);
+
+ registerParameter(&mPriority, "priority", 0);
}
void TableGeneratorSettings::consolidateSettings() // called after runcard is read
{
if (mVerbose && mVerboseLevel == 0) mVerboseLevel = 1;
if (mVerboseLevel != 0 && !mVerbose) mVerbose = true;
if (mQ2min>=mQ2max) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, Q2min >= Q2max. Stopping" << endl;
exit(1);
}
if (mWmin>=mWmax) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, Wmin >= Wmax. Stopping" << endl;
exit(1);
}
if (mTmin>=mTmax) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, tmin >= tmax. Stopping" << endl;
exit(1);
}
if (mTmin>0. or mTmax >0.) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, t must be negative, please change t-limits. Stopping" << endl;
exit(1);
}
if (mDipoleModelName.find("bSat") != string::npos)
mDipoleModel = bSat;
else if (mDipoleModelName.find("bNonSat") != string::npos)
mDipoleModel = bNonSat;
else if (mDipoleModelName.find("bCGC") != string::npos)
mDipoleModel = bCGC;
else {
cout << "TableGeneratorSettings::consolidateSettings(): Error, dipole mode '"
<< mDipoleModelName.c_str() << "' is not defined." << endl;
exit(1);
}
mRandomGenerator.SetSeed(mSeed);
gRandom->SetSeed(mSeed); // needed for TH1::GetRandom()
if (mA==1) mNumberOfConfigurations = 1;
if (!mUseBackupFile) mStartingBinFromBackup = 0;
if (mStartBin >= 0 && mEndBin >= 0 && mStartBin>=mEndBin) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, endBin <= startBin : " << mEndBin << " <= " << mStartBin << "! Stopping." << endl;
exit(1);
}
if ( mStartBin < 0 ) mStartBin=0;
if ( mStartBin >= signed(mQ2bins*mW2bins*mTbins) ) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, starting bin >= table! Stopping." << endl;
exit(1);
}
if ( mEndBin > signed(mQ2bins*mW2bins*mTbins) || mEndBin < 0) {
cout << "TableGeneratorSettings::consolidateSettings(): endBin is set to table size=" << mQ2bins*mW2bins*mTbins << endl;
mEndBin=mQ2bins*mW2bins*mTbins;
}
if ( mModesToCalculate < 0 || mModesToCalculate > 2 ) {
cout << "TableGeneratorSettings::consolidateSettings(): Error, modeToCalculate can only take values 0, 1, or 2; not "
<< mModesToCalculate << endl;
exit(1);
}
//Make sure the W range is allowed:
double VMMass=lookupPDG(mVectorMesonId)->Mass();
double W2min=VMMass*VMMass+protonMass2;
double Wmin=sqrt(W2min);
if(mWmin<Wmin){
mWmin=Wmin;
cout << "TableGeneratorSettings::consolidateSettings(): Warning, Wmin is smaller than allowed value. It has been changed to Wmin="<<mWmin<<endl;
}
}
//
// Access functions
//
void TableGeneratorSettings::setVerbose(bool val) { mVerbose = val;}
bool TableGeneratorSettings::verbose() const {return mVerbose;}
void TableGeneratorSettings::setVerboseLevel(int val){
mVerboseLevel = val;
if (!mVerbose && mVerboseLevel != 0) mVerbose = true;
if (mVerbose && mVerboseLevel == 0) mVerbose = false;
}
int TableGeneratorSettings::verboseLevel() const {return mVerboseLevel; }
void TableGeneratorSettings::setQ2min(double val){ mQ2min=val; }
double TableGeneratorSettings::Q2min() const { return mQ2min; }
double TableGeneratorSettings::Wmin() const { return mWmin; }
void TableGeneratorSettings::setWmin(double val){ mWmin=val; }
void TableGeneratorSettings::setTmax(double val){ mTmax=val; }
double TableGeneratorSettings::tmax() const { return mTmax; }
void TableGeneratorSettings::setQ2max(double val){ mQ2max=val; }
double TableGeneratorSettings::Q2max() const { return mQ2max; }
double TableGeneratorSettings::Wmax() const { return mWmax; }
void TableGeneratorSettings::setWmax(double val){ mWmax=val; }
void TableGeneratorSettings::setTmin(double val){ mTmin=val; }
double TableGeneratorSettings::tmin() const { return mTmin; }
void TableGeneratorSettings::setQ2bins(unsigned int val){ mQ2bins=val; }
unsigned int TableGeneratorSettings::Q2bins() const { return mQ2bins; }
void TableGeneratorSettings::setW2bins(unsigned int val){ mW2bins=val; }
unsigned int TableGeneratorSettings::W2bins() const { return mW2bins; }
void TableGeneratorSettings::setTbins(unsigned int val){ mTbins=val; }
unsigned int TableGeneratorSettings::tbins() const { return mTbins; }
void TableGeneratorSettings::setVectorMesonId(int val){ mVectorMesonId = val; }
int TableGeneratorSettings::vectorMesonId() const { return mVectorMesonId; }
void TableGeneratorSettings::setDipoleModel(DipoleModelType val){ mDipoleModel = val; }
DipoleModelType TableGeneratorSettings::dipoleModel() const { return mDipoleModel; }
string TableGeneratorSettings::dipoleModelName() const { return mDipoleModelName; }
void TableGeneratorSettings::setRootfile(const char* val){ mRootfile = val; }
string TableGeneratorSettings::rootfile() const { return mRootfile; }
void TableGeneratorSettings::setA(unsigned int val){ mA=val; }
unsigned int TableGeneratorSettings::A() const { return mA; }
void TableGeneratorSettings::setBSatLookupPath(string val){ mBSatLookupPath = val; }
string TableGeneratorSettings::bSatLookupPath() const { return mBSatLookupPath; }
void TableGeneratorSettings::setNumberOfConfigurations(unsigned int val){ mNumberOfConfigurations=val; }
unsigned int TableGeneratorSettings::numberOfConfigurations() const { return mNumberOfConfigurations; }
void TableGeneratorSettings::setUseBackupFile(bool val){ mUseBackupFile = val; }
bool TableGeneratorSettings::useBackupFile() const { return mUseBackupFile; }
void TableGeneratorSettings::setStartingBinFromBackup(int val){ mStartingBinFromBackup = val; }
int TableGeneratorSettings::startingBinFromBackup() const { return mStartingBinFromBackup; }
void TableGeneratorSettings::setStartBin(int val){ mStartBin = val; }
int TableGeneratorSettings::startBin() const { return mStartBin; }
void TableGeneratorSettings::setEndBin(int val){ mEndBin = val; }
int TableGeneratorSettings::endBin() const{ return mEndBin; }
void TableGeneratorSettings::setModesToCalculate(int val){ mModesToCalculate = val; }
int TableGeneratorSettings::modesToCalculate() const { return mModesToCalculate; }
+
+void TableGeneratorSettings::setPriority(unsigned char val){ mPriority = val; }
+unsigned char TableGeneratorSettings::priority() const { return mPriority; }
Index: trunk/src/TableGeneratorSettings.h
===================================================================
--- trunk/src/TableGeneratorSettings.h (revision 115)
+++ trunk/src/TableGeneratorSettings.h (revision 116)
@@ -1,147 +1,152 @@
//==============================================================================
// TableGeneratorSettings.h
//
// Copyright (C) 2010-2013 Tobias Toll and Thomas Ullrich
//
// This file is part of Sartre version: 1.1
//
// 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.
// 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, see <http://www.gnu.org/licenses/>.
//
// Author: Tobias Toll
// Last update:
// $Date$
// $Author$
//==============================================================================
//
// Singleton class
//
//==============================================================================
#ifndef TableGeneratorSettings_h
#define TableGeneratorSettings_h
#include "Settings.h"
#include "Enumerations.h"
using namespace std;
class TableGeneratorSettings : public Settings {
public:
static TableGeneratorSettings* instance();
void setVerbose(bool);
bool verbose() const;
void setVerboseLevel(int);
int verboseLevel() const;
void setQ2min(double);
double Q2min() const;
void setQ2max(double);
double Q2max() const;
void setWmin(double);
double Wmin() const;
void setWmax(double);
double Wmax() const;
void setTmin(double);
double tmin() const;
void setTmax(double);
double tmax() const;
void setQ2bins(unsigned int);
unsigned int Q2bins() const;
void setW2bins(unsigned int);
unsigned int W2bins() const;
void setTbins(unsigned int);
unsigned int tbins() const;
int vectorMesonId() const;
void setVectorMesonId(int);
DipoleModelType dipoleModel() const;
string dipoleModelName() const;
void setDipoleModel(DipoleModelType);
string rootfile() const;
void setRootfile(const char*);
unsigned int A() const;
void setA(unsigned int);
string bSatLookupPath() const;
void setBSatLookupPath(string);
unsigned int numberOfConfigurations() const;
void setNumberOfConfigurations(unsigned int);
bool useBackupFile() const;
void setUseBackupFile(bool);
int startingBinFromBackup() const;
void setStartingBinFromBackup(int);
int startBin() const;
void setStartBin(int);
int endBin() const;
void setEndBin(int);
int modesToCalculate() const;
void setModesToCalculate(int);
-
+
+ unsigned char priority() const;
+ void setPriority(unsigned char);
+
void consolidateSettings();
private:
TableGeneratorSettings();
private:
static TableGeneratorSettings* mInstance;
private:
bool mVerbose;
int mVerboseLevel;
unsigned int mSeed;
unsigned int mA;
unsigned int mNumberOfConfigurations;
bool mUseBackupFile;
int mVectorMesonId;
int mStartingBinFromBackup;
int mStartBin, mEndBin;
int mModesToCalculate;
double mQ2min;
double mQ2max;
double mWmin;
double mWmax;
double mTmin;
double mTmax;
unsigned int mQ2bins;
unsigned int mW2bins;
unsigned int mTbins;
DipoleModelType mDipoleModel;
string mRootfile;
string mBSatLookupPath;
string mDipoleModelName;
+
+ int mPriority;
};
#endif

File Metadata

Mime Type
text/x-diff
Expires
Wed, May 14, 10:27 AM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5111139
Default Alt Text
(14 KB)

Event Timeline