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

Version.cpp

00001 #include "Version.h"
00002 #include <string>
00003 #include <sstream>
00004 #include <cstring>
00005 #include <cmath>
00006 
00007 using namespace std;
00008 
00009 namespace Sct {
00010 
00011 //Tag from CVS
00012 #define TAG "$Name: SctRodDaq_3_0 $"
00013 
00014 //Build information
00015 const char* BuildSystem = "Linux pcei 2.4.18-27.7.cb2 #1 Mon Aug 25 11:23:19 BST 2003 i686 unknown";
00016 const char* BuildHost = "pcei.hep.phy.cam.ac.uk";
00017 const char* BuildDate = "17:16:13 14 Jul 2004";
00018 const char* CmtConfig = "i686-rh73-gcc32 ";
00019 const char* OnlineVersion = "online-00-19-01 ";
00020 const char* RootVersion = "3.05/07";
00021 const char* GccVersion = "3.2.3";
00022 const char* RodDaqVersion = "SctRodDaq_3_0";
00023 const char* DataFlowVersion = "DF-00-05-00";
00024 
00025 const char* getVersionString() {
00026     static char* str = 0;
00027     if (!str) {
00028         if (strlen(TAG) > 10) {
00029                     str = new char[strlen(TAG)-6];
00030                     strncpy(str,  &TAG[7], strlen(TAG)-9);
00031                     str[strlen(TAG)-9] = '\0';
00032         } else {
00033             str = new char[20];
00034             strcpy(str, "SctRodDaq_0_00_Exp");
00035         }
00036     }
00037     return str;
00038 }
00039 
00040 const char* getVersionModifier() {
00041     return &strrchr(VersionString, '_')[1];
00042 }
00043 
00044 unsigned int getMajorVersion() {
00045     return (unsigned int)floor(Version);
00046 }
00047 
00048 unsigned int getMinorVersion() {
00049     return (unsigned int) floor( (Version - MajorVersion) * 101);
00050 }
00051 
00052 double getVersion() {
00053     char str [strlen(VersionString) - 10];
00054     strcpy(str,  &VersionString[10]);
00055     str[1] = '.';
00056     return atof(str);
00057 }
00058     
00059 const char* VersionString = getVersionString();
00060 const char* VersionModifier = getVersionModifier();
00061 const double Version = getVersion();
00062 const unsigned int MajorVersion = getMajorVersion();
00063 const unsigned int MinorVersion = getMinorVersion();
00064     
00065 }

Generated on Thu Jul 15 09:51:02 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5