This file is indexed.

/usr/include/root/RooCmdConfig.h is in libroot-roofit-dev 5.34.30-0ubuntu8.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/*****************************************************************************
 * Project: RooFit                                                           *
 * Package: RooFitCore                                                       *
 *    File: $Id: RooCmdConfig.h,v 1.12 2007/05/11 09:11:30 verkerke Exp $
 * Authors:                                                                  *
 *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
 *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
 *                                                                           *
 * Copyright (c) 2000-2005, Regents of the University of California          *
 *                          and Stanford University. All rights reserved.    *
 *                                                                           *
 * Redistribution and use in source and binary forms,                        *
 * with or without modification, are permitted according to the terms        *
 * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
 *****************************************************************************/

#ifndef ROO_CMD_CONFIG
#define ROO_CMD_CONFIG

#include "TObject.h"
#include "TString.h"
#include "TList.h"
#include "RooCmdArg.h"
#include "RooArgSet.h"


class RooCmdConfig : public TObject {
public:

  RooCmdConfig(const char* methodName);
  RooCmdConfig(const RooCmdConfig& other) ;
  ~RooCmdConfig();

  void setVerbose(Bool_t flag) { 
    // If flag is true verbose messaging is activated
    _verbose = flag ; 
  }

  void allowUndefined(Bool_t flag=kTRUE) { 
    // If flag is true the processing of unrecognized RooCmdArgs
    // is not considered an error
    _allowUndefined = flag ; 
  }
  void defineDependency(const char* refArgName, const char* neededArgName) ;
  void defineMutex(const char* argName1, const char* argName2) ;
  void defineMutex(const char* argName1, const char* argName2, const char* argName3) ;
  void defineMutex(const char* argName1, const char* argName2, const char* argName3, const char* argName4) ;
  void defineMutex(const char* argName1, const char* argName2, const char* argName3, const char* argName4, const char* argName5) ;
  void defineRequiredArgs(const char* argName1, const char* argName2=0,
			  const char* argName3=0, const char* argName4=0,
			  const char* argName5=0, const char* argName6=0,
			  const char* argName7=0, const char* argName8=0) ;

  Bool_t defineInt(const char* name, const char* argName, Int_t intNum, Int_t defValue=0) ;
  Bool_t defineDouble(const char* name, const char* argName, Int_t doubleNum, Double_t defValue=0.) ;
  Bool_t defineString(const char* name, const char* argName, Int_t stringNum, const char* defValue="",Bool_t appendMode=kFALSE) ;
  Bool_t defineObject(const char* name, const char* argName, Int_t setNum, const TObject* obj=0, Bool_t isArray=kFALSE) ;
  Bool_t defineSet(const char* name, const char* argName, Int_t setNum, const RooArgSet* set=0) ;

  Bool_t process(const RooCmdArg& arg) ;
  Bool_t process(const RooCmdArg& arg1, const RooCmdArg& arg2, 
                 const RooCmdArg& arg3=RooCmdArg::none(), const RooCmdArg& arg4=RooCmdArg::none(), 
                 const RooCmdArg& arg5=RooCmdArg::none(), const RooCmdArg& arg6=RooCmdArg::none(), 
                 const RooCmdArg& arg7=RooCmdArg::none(), const RooCmdArg& arg8=RooCmdArg::none()) ;
  Bool_t process(const RooLinkedList& argList) ;

  Int_t getInt(const char* name, Int_t defaultValue=0) ;
  Double_t getDouble(const char* name, Double_t defaultValue=0) ;
  const char* getString(const char* name, const char* defaultValue="",Bool_t convEmptyToNull=kFALSE) ;
  TObject* getObject(const char* name, TObject* obj=0) ;
  RooArgSet* getSet(const char* name, RooArgSet* set=0) ;
  const RooLinkedList& getObjectList(const char* name) ;

  Bool_t ok(Bool_t verbose) const ;

  const char* missingArgs() const ;

  RooLinkedList filterCmdList(RooLinkedList& cmdInList, const char* cmdNameList, Bool_t removeFromInList=kTRUE) ;
  void stripCmdList(RooLinkedList& cmdList, const char* cmdsToPurge) ;
  Bool_t hasProcessed(const char* cmdName) const ;

  void print() ;


  static Int_t decodeIntOnTheFly(const char* callerID, const char* cmdArgName, Int_t intIdx, Int_t defVal, const RooCmdArg& arg1, 
				 const RooCmdArg& arg2=RooCmdArg(), const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
				 const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(), const RooCmdArg& arg7=RooCmdArg(),
				 const RooCmdArg& arg8=RooCmdArg(), const RooCmdArg& arg9=RooCmdArg()) ;

  static const char* decodeStringOnTheFly(const char* callerID, const char* cmdArgName, Int_t intIdx, const char* defVal, const RooCmdArg& arg1, 
					 const RooCmdArg& arg2=RooCmdArg(), const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
					 const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(), const RooCmdArg& arg7=RooCmdArg(),
					 const RooCmdArg& arg8=RooCmdArg(), const RooCmdArg& arg9=RooCmdArg()) ;

  static TObject* decodeObjOnTheFly(const char* callerID, const char* cmdArgName, Int_t objIdx, TObject* defVal, const RooCmdArg& arg1, 
				     const RooCmdArg& arg2=RooCmdArg(), const RooCmdArg& arg3=RooCmdArg(), const RooCmdArg& arg4=RooCmdArg(),
				     const RooCmdArg& arg5=RooCmdArg(), const RooCmdArg& arg6=RooCmdArg(), const RooCmdArg& arg7=RooCmdArg(),
				     const RooCmdArg& arg8=RooCmdArg(), const RooCmdArg& arg9=RooCmdArg()) ;

protected:

  TString _name ;
  
  Bool_t _verbose ;
  Bool_t _error ;
  Bool_t _allowUndefined ;

  TList _iList ; // Integer list
  TList _dList ; // Double list
  TList _sList ; // String list
  TList _oList ; // Object list
  TList _cList ; // RooArgSet list

  TList _rList ; // Required cmd list
  TList _fList ; // Forbidden cmd list
  TList _mList ; // Mutex cmd list 
  TList _yList ; // Dependency cmd list
  TList _pList ; // Processed cmd list 

  TIterator* _iIter ; // Iterator over integer list
  TIterator* _dIter ; // Iterator over double list
  TIterator* _sIter ; // Iterator over string list
  TIterator* _oIter ; // Iterator over object list
  TIterator* _cIter ; // Iterator over RooArgSet list
  TIterator* _rIter ; // Iterator over required cmd list
  TIterator* _fIter ; // Iterator over forbidden cmd list
  TIterator* _mIter ; // Iterator over mutex list
  TIterator* _yIter ; // Iterator over dependency list
  TIterator* _pIter ; // Iterator over processed cmd list

  ClassDef(RooCmdConfig,0) // Configurable parse of RooCmdArg objects
};

#endif