Ignore:
Timestamp:
10/24/01 13:57:43 (23 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mmontecarlo
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mmontecarlo/MMcThresholdCalc.cc

    r983 r984  
    103103    }
    104104
     105    UInt_t from = fDimension>0 ?          1 : -fDimension;
     106    UInt_t to   = fDimension>0 ? fDimension : -fDimension;
    105107
    106     const UInt_t from = fDimension<=0 ? -fDimension : 0;
     108    fNum = to-from+1;
    107109
    108     if (fDimension<=0)
    109         fDimension = -fDimension;
     110    Int_t num;
    110111
    111     if (fDimension==0)
    112         fDimension=1;
    113 
    114     fMcTrig = new TObjArray(pList->FindObjectList("MMcTrig", from, fDimension));
    115     if (fMcTrig->GetEntriesFast() != fDimension)
     112    fMcTrig = new TObjArray(pList->FindObjectList("MMcTrig", from, to));
     113    num = fMcTrig->GetEntriesFast();
     114    if (num != fNum)
    116115    {
    117         *fLog << dbginf << "Error: Not all requested MMcTrig objects are available...aborting." << endl;
     116        *fLog << dbginf << fNum << " MMcTrig objects requested, ";
     117        *fLog << num << " are available... aborting." << endl;
    118118        return kFALSE;
    119119    }
    120120
    121     fEnergy = new TObjArray(pList->FindCreateObjList("MHMcEnergy", from, fDimension));
    122     if (fMcTrig->GetEntriesFast() != fDimension && fDimension)
     121    fEnergy = new TObjArray(pList->FindCreateObjList("MHMcEnergy", from, to));
     122    num = fMcTrig->GetEntriesFast();
     123    if (num != fNum)
    123124    {
    124         *fLog << dbginf << "Error: Not all requested MHMcEnergy objects are available...aborting." << endl;
     125        *fLog << dbginf << fNum << " MHMcEnergy objects requested, ";
     126        *fLog << num << " are available... aborting." << endl;
    125127        return kFALSE;
    126128    }
     
    141143    const Float_t reciproc = 1./energy;
    142144
    143     for (Int_t i=0; i<fDimension; i++)
     145    for (Int_t i=0; i<fNum; i++)
    144146        if (GetTrig(i)->GetFirstLevel()>0)
    145147            GetHEnergy(i)->Fill(lg10, reciproc);
     
    155157Bool_t MMcThresholdCalc::PostProcess()
    156158{
    157     for (Int_t i=0; i<fDimension; i++)
     159    for (Int_t i=0; i<fNum; i++)
    158160    {
    159161        MHMcEnergy &hist = *GetHEnergy(i);
  • trunk/MagicSoft/Mars/mmontecarlo/MMcThresholdCalc.h

    r893 r984  
    2525private:
    2626    Int_t fDimension;
     27    Int_t fNum;
    2728
    2829    const MMcEvt  *fMcEvt;       // Container with Monte Carlo information
  • trunk/MagicSoft/Mars/mmontecarlo/MMcTriggerRateCalc.cc

    r983 r984  
    4343    *fTitle = title ? title : "Task to calc the trigger rate ";
    4444
    45     fDimension=dim;
     45    fDimension = dim;
    4646
    4747    for (int i=0;i<10;i++)
     
    111111    }
    112112
    113     const UInt_t from = fDimension<=0 ? -fDimension : 0;
    114 
    115     if (fDimension<=0)
    116         fDimension = -fDimension;
    117 
    118     if (fDimension==0)
    119         fDimension=1;
    120 
    121     fMcTrig = new TObjArray(pList->FindObjectList("MMcTrig", from, fDimension));
    122     if (fMcTrig->GetEntriesFast() != fDimension)
    123     {
    124         *fLog << dbginf << "Error: Not all requested MMcTrig objects are available...aborting." << endl;
     113    UInt_t from = fDimension>0 ?          1 : -fDimension;
     114    UInt_t to   = fDimension>0 ? fDimension : -fDimension;
     115
     116    fNum = to-from+1;
     117
     118    Int_t num;
     119
     120    fMcTrig = new TObjArray(pList->FindObjectList("MMcTrig", from, to));
     121    num = fMcTrig->GetEntriesFast();
     122    if (num != fNum)
     123    {
     124        *fLog << dbginf << fNum << " MMcTrig objects requested, ";
     125        *fLog << num << " are available... aborting." << endl;
    125126        return kFALSE;
    126127    }
    127128
    128     fMcRate = new TObjArray(pList->FindObjectList("MHMcRate", from, fDimension));
    129     if (fMcRate->GetEntriesFast() != fDimension)
    130     {
    131         *fLog << dbginf << "Error: Not all requested MHMcRate objects are available...aborting." << endl;
     129    fMcRate = new TObjArray(pList->FindObjectList("MHMcRate", from, to));
     130    num = fMcRate->GetEntriesFast();
     131    if (num != fNum)
     132    {
     133        *fLog << dbginf << fNum << " MHMcRate objects requested, ";
     134        *fLog << num << " are available... aborting." << endl;
    132135        return kFALSE;
    133136    }
    134137
    135     for (int i=0; i<fDimension; i++)
     138    for (int i=0; i<fNum; i++)
    136139    {
    137140        MHMcRate &rate = *GetRate(i);
     
    175178    //  Counting number of triggers
    176179    //
    177     for (int i=0; i<fDimension; i++)
     180    for (int i=0; i<fNum; i++)
    178181    {
    179182        fTrigger[i] += GetTrig(i)->GetFirstLevel();
     
    194197    // Computing trigger rate
    195198    //
    196     for (int i=0; i<fDimension; i++)
     199    for (int i=0; i<fNum; i++)
    197200        GetRate(i)->CalcRate(fTrigger[i], fAnalShow, fShowers);
    198201
  • trunk/MagicSoft/Mars/mmontecarlo/MMcTriggerRateCalc.h

    r983 r984  
    2727    Int_t      fDimension;     // Information about the trigger conditions
    2828                               // in the root file to be read.
     29    Int_t      fNum;           // decoded dimension
    2930
    3031    Float_t    fTrigger[10];   // Number of triggered showers
     
    3839
    3940    MHMcRate *GetRate(UInt_t i) const { return (MHMcRate*)((*fMcRate)[i]); }
    40     MMcTrig *GetTrig(UInt_t i) const { return (MMcTrig*)((*fMcTrig)[i]); }
     41    MMcTrig  *GetTrig(UInt_t i) const { return (MMcTrig*)((*fMcTrig)[i]); }
    4142
    4243public:
Note: See TracChangeset for help on using the changeset viewer.