1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Authors: Oystein Djuvsland <oysteind@ift.uib.no> *
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 **************************************************************************
16 #include "AliHLTPHOSGeometry.h"
17 #include "AliPHOSGeoUtils.h"
18 #include "TGeoManager.h"
19 #include "AliCDBManager.h"
20 #include "AliCDBEntry.h"
23 AliHLTPHOSGeometry::AliHLTPHOSGeometry() :
24 AliHLTCaloGeometry("PHOS"),
28 // See header file for class documentation
32 AliHLTPHOSGeometry::~AliHLTPHOSGeometry()
34 // See header file for class documentation
37 void AliHLTPHOSGeometry::GetGlobalCoordinates ( AliHLTCaloRecPointDataStruct& recPoint, AliHLTCaloGlobalCoordinate& globalCoord )
39 // See header file for class documentation
42 Logging(kHLTLogError, "HLT", "PHOS", "AliHLTPHOSGeometry::GetGlobalCoordinates: no geometry initialised");
46 Float_t x = recPoint.fX;
47 Float_t z = recPoint.fZ;
49 ConvertRecPointCoordinates(x, z);
52 fGeoUtils->Local2Global(fCaloConstants->GetNMODULES() - recPoint.fModule, x, z, coord);
54 globalCoord.fX = coord[0];
55 globalCoord.fY = coord[1];
56 globalCoord.fZ = coord[2];
60 void AliHLTPHOSGeometry::ConvertRecPointCoordinates(Float_t &x, Float_t &z) const
62 // See header file for class documentation
63 x = (x - (float)(fCaloConstants->GetNXCOLUMNSMOD())/2)*fCaloConstants->GetCELLSTEP();
64 z = (z - ((float)(fCaloConstants->GetNZROWSMOD()))/2)*fCaloConstants->GetCELLSTEP();
67 int AliHLTPHOSGeometry::GetGeometryFromCDB()
69 // See header file for documentation
71 AliCDBPath path("GRP","Geometry","Data");
74 // HLTInfo("configure from entry %s", path.GetPath());
75 AliCDBEntry *pEntry = AliCDBManager::Instance()->Get(path/*,GetRunNo()*/);
84 gGeoManager = (TGeoManager*) pEntry->GetObject();
85 // HLTError("gGeoManager = 0x%x", gGeoManager);
88 fGeoUtils = new AliPHOSGeoUtils("PHOS", "noCPV");
93 // HLTError("can not fetch object \"%s\" from OCDB", path);
100 void AliHLTPHOSGeometry::GetCellAbsId ( UInt_t module, UInt_t x, UInt_t z, Int_t& AbsId )
102 // See header file for class documentation
105 Logging(kHLTLogError, "HLT", "PHOS", "AliHLTPHOSGeometry::GetCellAbsId: no geometry initialised");
108 fGeoUtils->RelPosToAbsId(module, x, z, AbsId);