Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

Version.cpp

Go to the documentation of this file.
00001 #include "Version.h"
00002 #include <string>
00003 #include <sstream>
00004 #include <cstring>
00005 
00006 using namespace std;
00007 
00008 namespace Sct {
00009 
00010 //Tag from CVS
00011 #define TAG "$Name: SctRodDaq_2_1 $"
00012 
00013 //Build information
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:01:22 15 Dec 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_1";
00022 const char* DataFlowVersion = "DF-00-05-00";
00023 
00024 const char* getVersionString() {
00025     static char* str = 0;
00026     if (!str) {
00027         if (strlen(TAG) > 10) {
00028                     str = new char[strlen(TAG)-6];
00029                     strncpy(str,  &TAG[7], strlen(TAG)-9);
00030                     str[strlen(TAG)-9] = '\0';
00031         } else {
00032             str = new char[20];
00033             strcpy(str, "SctRodDaq_0_00_Exp");
00034         }
00035     }
00036     return str;
00037 }
00038 
00039 const char* getVersionModifier() {
00040     return &strrchr(VersionString, '_')[1];
00041 }
00042 
00043 unsigned int getMajorVersion() {
00044     return (unsigned int)floor(Version);
00045 }
00046 
00047 unsigned int getMinorVersion() {
00048     return (unsigned int) floor( (Version - MajorVersion) * 101);
00049 }
00050 
00051 double getVersion() {
00052     char str [strlen(VersionString) - 10];
00053     strcpy(str,  &VersionString[10]);
00054     str[1] = '.';
00055     return atof(str);
00056 }
00057     
00058 const char* VersionString = getVersionString();
00059 const char* VersionModifier = getVersionModifier();
00060 const double Version = getVersion();
00061 const unsigned int MajorVersion = getMajorVersion();
00062 const unsigned int MinorVersion = getMinorVersion();
00063     
00064 }

Generated on Mon Dec 15 19:36:23 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3