Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / CALO / AliHLTCaloRecoParamHandler.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Authors: Oystein Djuvsland <oysteind@ift.uib.no>                       *
5  *                                                                        *
6  * Permission to use, copy, modify and distribute this software and its   *
7  * documentation strictly for non-commercial purposes is hereby granted   *
8  * without fee, provided that the above copyright notice appears in all   *
9  * copies and that both the copyright notice and this permission notice   *
10  * appear in the supporting documentation. The authors make no claims     *
11  * about the suitability of this software for any purpose. It is          *
12  * provided "as is" without express or implied warranty.                  *
13  **************************************************************************/
14
15 #include "AliHLTCaloRecoParamHandler.h"
16 #include "AliDetectorRecoParam.h"
17 #include "AliCDBEntry.h"
18 #include "AliCDBManager.h"
19 #include "TObjArray.h"
20
21 ClassImp(AliHLTCaloRecoParamHandler);
22
23 AliHLTCaloRecoParamHandler::AliHLTCaloRecoParamHandler ( TString det ) : 
24 AliHLTCaloConstantsHandler(det)
25 ,AliHLTLogging()
26 ,fLogWeight(4.5)
27 ,fRecPointMemberThreshold(0.01)
28 ,fRecPointThreshold(0.1)
29 ,fRecoParamPtr(0)
30 ,fRecoParamPath(det, "Calib", "RecoParam")
31 {
32    // See header file for class documentation
33
34 }
35
36
37 AliHLTCaloRecoParamHandler::~AliHLTCaloRecoParamHandler()
38 {
39    // See header file for class documentation
40    
41 }
42
43
44
45 Int_t AliHLTCaloRecoParamHandler::GetParametersFromCDB()
46 {
47    // See header file for documentation
48
49    if(fRecoParamPath.GetPath())
50     {
51 //      HLTInfo("configure from entry %s", path.GetPath());
52       AliCDBEntry *pEntry = AliCDBManager::Instance()->Get(fRecoParamPath/*,GetRunNo()*/);
53       if (pEntry) 
54         {
55             
56             TObjArray *paramArray = dynamic_cast<TObjArray*>(pEntry->GetObject());
57             if(paramArray)
58               {
59                 fRecoParamPtr = dynamic_cast<AliDetectorRecoParam*>((paramArray)->At(0));
60               }
61             if(!fRecoParamPtr)
62               {
63                 HLTError("can not fetch object reconstruction parameters from \"%s\"", fRecoParamPath.GetPath().Data());
64                 return -1;
65               }
66         }
67       else
68         {
69             HLTError("can not fetch object \"%s\" from OCDB", fRecoParamPath.GetPath().Data());
70             return -1;
71         }
72     }
73     FillParameters();
74     return 0;
75 }