Porting HLT doxygen documentation to cmake
[u/mrichter/AliRoot.git] / HLT / TPCLib / HWCFemulator / macro / makeConfigurationObjectTPCHWClusterFinder.C
1 //-*- Mode: C++ -*-
2 /**
3  * @file makeConfigurationObjectTPCHWClusterFinder.C
4  * @brief Creation of HLT component configuration objects in OCDB
5  *
6  * <pre>
7  * Usage: aliroot -b -q makeConfigurationObjectTPCHWClusterFinder.C'("param", "uri", runMin, runMax)'
8  * </pre>
9  *
10  * Create an OCDB entry with a TObjString containing param for
11  * TPCHWClusterFinder
12  *
13  * Parameters: <br>
14  * - param (opt)    string to be stored in the TObjSting, default empty
15  * - uri   (opt)    the OCDB URI, default $ALICE_ROOT   
16  * - runMin (opt)   default 0
17  * - runMax (opt)   default 999999999
18  * 
19  * Current Param : 
20  *  - ""  <pre> aliroot -b -q makeConfigurationObjectTPCHWClusterFinder.C </pre>
21  *
22  * @author Sergey Gorbunov <sergey.gorbunov@fias.uni-frankfurt.de>
23  * @ingroup alihlt_tpc
24  */
25 void makeConfigurationObjectTPCHWClusterFinder(const Char_t* param="", const Char_t* cdbUri=NULL,
26                                       Int_t runMin=0, Int_t runMax=AliCDBRunRange::Infinity()) {
27
28   // --------------------------------------
29   // -- Setup CDB
30   // --------------------------------------
31
32   AliCDBManager* man = AliCDBManager::Instance();
33   if (!man) {
34     cerr << "Error : Can not get AliCDBManager" << end;
35     exit;
36   }
37
38   TString storage;
39   if (!man->IsDefaultStorageSet()) {
40     if ( cdbUri ) {
41       storage = cdbUri;
42       if ( storage.Contains("://") == 0 ) {
43         storage = "local://"; 
44         storage += cdbUri;
45       }
46     } 
47     else {
48       storage="local://$ALICE_ROOT/OCDB";
49     }
50     man->SetDefaultStorage(storage);
51   } 
52   else {
53     storage = man->GetDefaultStorage()->GetURI();
54   }
55
56   TString path("HLT/ConfigTPC/TPCHWClusterFinder");
57
58   // --------------------------------------
59   // -- Create Config Object
60   // --------------------------------------
61
62   // here is the actual content of the configuration object
63   TObjString configParam=param;
64
65   TObject *configObj = static_cast<TObject*>(&configParam);
66   // --------------------------------------
67   // -- Fill Object
68   // --------------------------------------
69   
70   if ( !configObj ) {
71     cerr << "Error : No configuration object created" << endl;
72     return;
73   }
74     
75   AliCDBPath cdbPath(path);
76   AliCDBId   cdbId(cdbPath, runMin, runMax);
77   AliCDBMetaData cdbMetaData;
78   man->Put(configObj, cdbId, &cdbMetaData);
79
80   printf("Adding %s type OCDB object to %s [%d,%d] in %s \n",
81          configObj->ClassName(), 
82          path.Data(),
83          runMin, runMax, storage.Data());
84 }
85