Ignore:
Timestamp:
02/16/05 19:53:21 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mjobs
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mjobs/MJPedestal.cc

    r6502 r6553  
    802802    tenv.SetDefault(fExtractor);
    803803
    804     if (tenv.ReadEnv(*GetEnv(), GetEnvPrefix()+".ExtractSignal", GetEnvDebug())==kERROR)
     804    if (tenv.ReadEnv(*GetEnv(), GetEnvPrefix()+".ExtractSignal", GetEnvDebug()>2)==kERROR)
    805805        return kFALSE;
    806806
  • trunk/MagicSoft/Mars/mjobs/MJob.cc

    r6177 r6553  
    2929// A base class for jobs
    3030//
     31// SetDebugEnv(0) // switch off debugging
     32// SetDebugEnv(1) // reserved
     33// SetDebugEnv(2) // print untouched resources after evtloop resources setup
     34// SetDebugEnv(3) // do 2) and debug setting env completely
     35//
    3136/////////////////////////////////////////////////////////////////////////////
    3237#include "MJob.h"
    3338
    34 #include <TEnv.h>
     39#include "MEnv.h"
    3540#include <TFile.h>
    3641#include <TSystem.h>
     
    5459// Sets fDataFlag to 0
    5560//
    56 MJob::MJob(const char *name, const char *title) : fEnv(0), fOverwrite(kFALSE), fMaxEvents(0)
     61MJob::MJob(const char *name, const char *title) : fEnv(0), fEnvDebug(0), fOverwrite(kFALSE), fMaxEvents(0)
    5762 
    5863{
     
    6166}
    6267
     68void MJob::ClearEnv()
     69{
     70    if (fEnv && TestBit(kIsOwner))
     71        delete fEnv;
     72    ResetBit(kIsOwner);
     73    fEnv=0;
     74}
     75
    6376MJob::~MJob()
    6477{
    65     if (fEnv)
    66         delete fEnv;
     78    ClearEnv();
    6779}
    6880
    6981Bool_t MJob::SetEnv(const char *env, const char *prefix)
    7082{
    71     if (fEnv)
    72     {
    73         delete fEnv;
    74         fEnv = 0;
    75     }
     83    ClearEnv();
    7684
    7785    const Bool_t fileexist = !gSystem->AccessPathName(env, kFileExists);
     
    8290    }
    8391
    84     fEnv = new TEnv(env);
     92    fEnv = new MEnv(env);
     93    SetBit(kIsOwner);
    8594
    8695    fEnvPrefix = prefix;
     
    94103}
    95104
     105void MJob::SetEnv(MEnv *env, const char *prefix)
     106{
     107    ClearEnv();
     108
     109    fEnv = env;
     110
     111    fEnvPrefix = prefix;
     112    if (!prefix)
     113        fEnvPrefix = fName.First(' ')>0 ? fName(0, fName.First(' ')) : fName;
     114
     115    if (fEnvPrefix.EndsWith("."))
     116        fEnvPrefix.Remove(fEnvPrefix.Length()-1);
     117}
     118
    96119void MJob::FixPath(TString &path) const
    97120{
     
    123146}
    124147
     148const TEnv *MJob::GetEnv() const
     149{
     150    return static_cast<const TEnv *const>(fEnv);
     151}
     152
    125153Int_t MJob::GetEnv(const char *name, Int_t dflt) const
    126154{
     
    140168Bool_t MJob::HasEnv(const char *name) const
    141169{
    142     return IsEnvDefined(*fEnv, fEnvPrefix, name, fEnvDebug);//fEnv->Lookup(Form("%s%s", fEnvPrefix.Data(), name));
     170    return IsEnvDefined(*fEnv, fEnvPrefix, name, fEnvDebug>2);//fEnv->Lookup(Form("%s%s", fEnvPrefix.Data(), name));
    143171}
    144172
     
    163191    SetMaxEvents(GetEnv("MaxEvents", fMaxEvents));
    164192    SetOverwrite(GetEnv("Overwrite", fOverwrite));
     193    SetEnvDebug( GetEnv("EnvDebug",  fEnvDebug));
    165194
    166195    return CheckEnvLocal();
     
    172201        return kTRUE;
    173202
    174     return loop.ReadEnv(*fEnv, fEnvPrefix, fEnvDebug) ? kTRUE : kFALSE;
     203    if (!loop.ReadEnv(*fEnv, fEnvPrefix, fEnvDebug>2))
     204        return kFALSE;
     205
     206    if (fEnvDebug>1)
     207        fEnv->PrintUntouched();
     208
     209    return kTRUE;
    175210}
    176211
  • trunk/MagicSoft/Mars/mjobs/MJob.h

    r6177 r6553  
    66#endif
    77
    8 class TEnv;
     8class MEnv;
    99class MEvtLoop;
    1010
     
    1212{
    1313private:
     14    enum { kIsOwner = BIT(14) };
     15
    1416    void FixPath(TString &path) const;
     17    void ClearEnv();
    1518
    16     const TEnv *fEnv;         // Resource file
     19    const MEnv *fEnv;         // Resource file
    1720    TString     fEnvPrefix;   // Prefix for resources
    18     Bool_t      fEnvDebug;    // Debug setup of resources
     21    Int_t       fEnvDebug;    // Debug setup of resources
    1922
    2023protected:
    21 
    2224    TString   fPathOut;       // Directory to write output file to (eg. calib*.root)
    2325    TString   fPathIn;        // Directory to read output from (eg. calib*.root)
     
    2931    MSequence fSequence;      // Sequence
    3032
    31     const TEnv *GetEnv() const { return fEnv; }
     33    const TEnv *GetEnv() const;
     34    const MEnv *GetMEnv() const { return fEnv; }
    3235    const TString &GetEnvPrefix() const { return fEnvPrefix; }
    33     Bool_t GetEnvDebug() const { return fEnvDebug; }
     36    Int_t GetEnvDebug() const { return fEnvDebug; }
    3437
    3538    Int_t       GetEnv(const char *name, Int_t dflt) const;
     
    4043    Bool_t SetupEnv(MEvtLoop &loop) const;
    4144    Bool_t CheckEnv();
     45    void PrintUntouchedEnv() const;
    4246    virtual Bool_t CheckEnvLocal() { return kTRUE; }
    4347
     
    5761    void   SetOverwrite(Bool_t b=kTRUE) { fOverwrite=b; }
    5862    Bool_t SetEnv(const char *env, const char *prefix=0);
    59     void   SetEnvDebug(Bool_t b=kTRUE) { fEnvDebug=b; }
     63    void   SetEnv(MEnv *env, const char *prefix=0);
     64    void   SetEnvDebug(Int_t d=2) { fEnvDebug=d; }
    6065
    6166    void   SetMaxEvents(Int_t max) { fMaxEvents = max; }
Note: See TracChangeset for help on using the changeset viewer.