Changeset 10265


Ignore:
Timestamp:
Mar 30, 2011, 11:55:50 AM (10 years ago)
Author:
lyard
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/dataLogger.cc

    r10264 r10265  
    4949#include "MessageImp.h"
    5050
     51//#define HAS_FITS
     52
    5153#include <fstream>
    5254
    5355#include <boost/bind.hpp>
    5456
     57#ifdef HAS_FITS
    5558#include <astroroot.h>
     59#endif
    5660
    5761class DataLogger : public StateMachineDim, DimInfoHandler
     
    143147        struct SubscriptionType
    144148        {
     149#ifdef HAS_FITS
    145150                ///daily FITS output file
    146151                AstroRootIo     dailyFile;
    147152                ///run-specific FITS output file
    148153                AstroRootIo     runFile;
     154#endif
    149155                ///the actual dimInfo pointer
    150156                DimStampedInfo* dimInfo;
     
    154160                void operator = (const SubscriptionType& other)
    155161                {
     162#ifdef HAS_FITS
    156163                        dailyFile = other.dailyFile;
    157164                        runFile = other.runFile;
     165#endif
    158166                        dimInfo = other.dimInfo;       
    159167                        numCopies = other.numCopies;
     
    162170                SubscriptionType(const SubscriptionType& other)
    163171                {
     172#ifdef HAS_FITS
    164173                        dailyFile = other.dailyFile;
    165174                        runFile = other.runFile;
     175#endif
    166176                        dimInfo = other.dimInfo;
    167177                        numCopies = other.numCopies;
     
    185195                        if (*numCopies < 1)
    186196                        {
     197#ifdef HAS_FITS
    187198                                if (dailyFile.IsOpen())
    188199                                        dailyFile.Close();
    189200                                if (runFile.IsOpen())
    190201                                        runFile.Close();
     202#endif
    191203                                if (dimInfo)
    192204                                delete dimInfo;
     
    227239        ///from dailyOpen to waiting transition
    228240        int DailyToWaitRunPlease();
     241#ifdef HAS_FITS
    229242        ///Open fits files
    230243        void OpenFITSFilesPlease(SubscriptionType& sub);
     
    233246        ///Allocate the buffers required for fits
    234247        void AllocateFITSBuffers(SubscriptionType& sub);
     248#endif
    235249public:
    236250        ///checks with fServiceList whether or not the services got updated
     
    663677                }
    664678        }
    665 
     679       
     680#ifdef HAS_FITS
    666681        if (!sub.dailyFile.IsOpen() || !sub.runFile.IsOpen())
    667682                OpenFITSFilesPlease(sub);       
    668683        WriteToFITS(sub);
    669        
     684#endif
    670685
    671686}
     
    792807        return kSM_DailyOpen;   
    793808}
     809
     810#ifdef HAS_FITS
    794811// --------------------------------------------------------------------------
    795812//
     
    943960                        sub.runFile.Write();
    944961}
     962#endif //if has_fits
    945963// --------------------------------------------------------------------------
    946964//
     
    9841002        fRunLogFile.close();
    9851003        fRunReportFile.close();
     1004#ifdef HAS_FITS
    9861005        for (SubscriptionsListType::iterator i = fServiceSubscriptions.begin(); i != fServiceSubscriptions.end(); i++)
    9871006                for (std::map<std::string, SubscriptionType>::iterator j = i->second.begin(); j != i->second.end(); j++)
     
    9901009                                        j->second.runFile.Close();     
    9911010                }
     1011#endif
    9921012        return kSM_WaitingRun;
    9931013
     
    10111031                fRunReportFile.close();
    10121032               
     1033#ifdef HAS_FITS
    10131034        for (SubscriptionsListType::iterator i = fServiceSubscriptions.begin(); i != fServiceSubscriptions.end(); i++)
    10141035                for (std::map<std::string, SubscriptionType>::iterator j = i->second.begin(); j != i->second.end(); j++)
     
    10191040                                        j->second.runFile.Close();     
    10201041                }
     1042#endif
    10211043        return kSM_Ready;
    10221044}
Note: See TracChangeset for help on using the changeset viewer.