Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F11221449
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
14 KB
Subscribers
None
View Options
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
Details
Attached
Mime Type
text/x-diff
Expires
Wed, May 14, 10:27 AM (1 d, 19 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5111139
Default Alt Text
(14 KB)
Attached To
rSARTRESVN sartresvn
Event Timeline
Log In to Comment