- adding functionality for loading detector geometries from OCDB or ROOT file
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerDetectorGeom.cxx
1 //**************************************************************************
2 //* This file is property of and copyright by the ALICE HLT Project        * 
3 //* ALICE Experiment at CERN, All rights reserved.                         *
4 //*                                                                        *
5 //* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
6 //*                  for The ALICE HLT Project.                            *
7 //*                                                                        *
8 //* Permission to use, copy, modify and distribute this software and its   *
9 //* documentation strictly for non-commercial purposes is hereby granted   *
10 //* without fee, provided that the above copyright notice appears in all   *
11 //* copies and that both the copyright notice and this permission notice   *
12 //* appear in the supporting documentation. The authors make no claims     *
13 //* about the suitability of this software for any purpose. It is          *
14 //* provided "as is" without express or implied warranty.                  *
15 //**************************************************************************
16
17 /// @file   AliHLTTriggerDetectorGeom.cxx
18 /// @author Oystein Djuvsland
19 /// @date   2009-10-08
20 /// @brief  HLT class describing simple geometry of (sub-)detectors.
21 ///         Used for the AliHLTTriggerBarrelGeomMultiplicity classes
22
23 // see header file for class documentation
24 // or
25 // refer to README to build package
26 // or
27 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
28
29 #include "AliHLTTriggerDetectorGeom.h"
30 #include <ostream>
31 /** ROOT macro for the implementation of ROOT specific class methods */
32 ClassImp(AliHLTTriggerDetectorGeom)
33
34 AliHLTTriggerDetectorGeom::AliHLTTriggerDetectorGeom() 
35 : TObject(),
36   fEtaMin(0),
37   fEtaMax(0),
38   fPhiMin(0),
39   fPhiMax(0),
40   fName('\0')
41 {
42   // See header file for class documentation
43   for(Int_t i = 0; i < 3; i++) 
44     {
45       fInitalPoint[i] = 0;
46       fNormVector[i] = 0;
47     }
48 }
49   
50 AliHLTTriggerDetectorGeom::~AliHLTTriggerDetectorGeom()
51 {
52   // See header file for class documentation
53 }
54
55 void AliHLTTriggerDetectorGeom::SetInitialPoint(Double_t *point)
56 {
57   // See header file for class documentation
58   for(int i = 0; i < 3; i++)
59     {
60       fInitalPoint[i] = point[i];
61     }
62 }
63
64 void AliHLTTriggerDetectorGeom::SetNormVector(Double_t *nVector)
65 {
66   // See header file for class documentation
67   for(int i = 0; i < 3; i++)
68     {
69       fNormVector[i] = nVector[i];
70     }
71 }
72
73 void AliHLTTriggerDetectorGeom::GetInitialPoint(Double_t *point)
74 {
75   for(int i = 0; i < 3; i++)
76     {
77       point[i] = fInitalPoint[i];
78     }
79 }
80
81 void AliHLTTriggerDetectorGeom::PrintDetectorGeom(std::ostream &out)
82 {
83   out << "Name: " << fName << std::endl;
84   out << "Eta Min: " << fEtaMin << std::endl;
85   out << "Eta Max: " << fEtaMax << std::endl;
86   out << "Phi Min: " << fPhiMin << std::endl;
87   out << "Phi Max: " << fPhiMax << std::endl;
88   out << "Initial Point: {" << fInitalPoint[0] << ", " << fInitalPoint[1] << ", " << fInitalPoint[2] << std::endl; 
89   out << "Normal Vector: {" << fNormVector[0] << ", " << fNormVector[1] << ", " << fNormVector[2] << std::endl; 
90 }