00001 #include "Version.h"
00002 #include <string>
00003 #include <sstream>
00004 #include <cstring>
00005
00006 using namespace std;
00007
00008 namespace Sct {
00009
00010
00011 #define TAG "$Name: SctRodDaq_2_00 $"
00012
00013
00014 const char* BuildSystem = "Linux pcdk 2.4.18-27.7.cb2 #6 Mon Apr 14 10:50:39 BST 2003 i686 unknown";
00015 const char* BuildHost = "pcdk.hep.phy.cam.ac.uk";
00016 const char* BuildDate = "19:22:16 17 Nov 2003";
00017 const char* CmtConfig = "i686-rh73-gcc32 ";
00018 const char* OnlineVersion = "online-00-19-01 ";
00019 const char* RootVersion = "3.05/07";
00020 const char* GccVersion = "3.2.3";
00021 const char* RodDaqVersion = "SctRodDaq_2_00";
00022 const char* DataFlowVersion = "DF-00-05-00";
00023
00024 const char* getVersionString() {
00025 if (strlen(TAG) > 10) {
00026 return &TAG[7];
00027 }
00028 return "SctRodDaq_0_00_Exp";
00029 }
00030
00031 const char* getVersionModifier() {
00032 return &strrchr(VersionString, '_')[1];
00033 }
00034
00035 unsigned int getMajorVersion() {
00036 return atoi(&VersionString[10]);
00037 }
00038
00039 unsigned int getMinorVersion() {
00040 const char* index = strchr(&getVersionString()[10], '_');
00041 return atoi(&index[1]);
00042 }
00043
00044 unsigned int getVersion() {
00045 return MajorVersion * 1000 + MinorVersion;
00046 }
00047
00048 const char* VersionString = getVersionString();
00049 const char* VersionModifier = getVersionModifier();
00050 const unsigned int MajorVersion = getMajorVersion();
00051 const unsigned int MinorVersion = getMinorVersion();
00052 const unsigned int Version = getVersion();
00053
00054 }