- adding functionality for loading detector geometries from OCDB or ROOT file
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerDetectorGeom.h
CommitLineData
46906312 1#ifndef ALIHLTTRIGGERDETECTORGEOM_H
2#define ALIHLTTRIGGERDETECTORGEOM_H
3
4//* This file is property of and copyright by the ALICE HLT Project *
5//* ALICE Experiment at CERN, All rights reserved. *
6//* See cxx source for full Copyright notice *
7
8/// @file AliHLTTriggerDetectorGeom.h
9/// @author Oystein Djuvsland
10/// @date 2009-10-08
11/// @brief HLT class describing simple geometry of (sub-)detectors.
12/// Used for the AliHLTTriggerBarrelGeomMultiplicity classes
13
14#include "TObject.h"
1ecefac2 15#include "TString.h"
16#include <ostream>
46906312 17
18/**
19 * @class AliHLTTriggerDetectorGeom
20 * HLT class describing simple geometry cuts of (sub-)detectors.
21 * Used for the AliHLTTriggerBarrelGeomMultiplicity classes
22 *
23 * \ingroup alihlt_trigger
24 */
25
26class AliHLTTriggerDetectorGeom : public TObject
27{
28public:
29
30 /** Default constructor */
31 AliHLTTriggerDetectorGeom(); // Default constructor
32
33 /** Destructor */
34 virtual ~AliHLTTriggerDetectorGeom(); // Destructor
35
36 /**
37 * Set the minimum in eta
38 * @param etaMin is the minumum
39 */
40 void SetEtaMin(Double_t etaMin) { fEtaMin = etaMin; } // Set min in eta
41
42 /**
43 * Set the maximum in eta
44 * @param etaMax is the maxumum
45 */
46 void SetEtaMax(Double_t etaMax) { fEtaMax = etaMax; } // Set max in eta
47
48 /**
49 * Set the minimum in phi
50 * @param phiMin is the minumum
51 */
52 void SetPhiMin(Double_t phiMin) { fPhiMin = phiMin; } // Set min in phi
53
54 /**
55 * Set the maximum in phi
56 * @param phiMax is the maxumum
57 */
58 void SetPhiMax(Double_t phiMax) { fPhiMax = phiMax; } // Set max in phi
59
60 /**
61 * Set the initial point describing the plane
62 * @param point is the point
63 */
1ecefac2 64 void SetInitialPoint(Double_t *point); // Set initial point
46906312 65
66 /**
67 * Set the vector describing the plane
68 * @param nVector is a the vector
69 */
1ecefac2 70 void SetNormVector(Double_t *nVector); // Set normal vector
46906312 71
72 /**
73 * Set the name of the (sub-)detector
74 * @param name is the name
75 */
1ecefac2 76 void SetDetName(TString &name) { fName = name; } // Set name
77
78 Double_t EtaMin() { return fEtaMin; }
79 Double_t EtaMax() { return fEtaMax; }
80 Double_t PhiMin() { return fPhiMin; }
81 Double_t PhiMax() { return fPhiMax; }
82
83 void GetInitialPoint(Double_t *point);
84 Double_t* NormVector() { return fNormVector; }
85
86 TString DetName() { return fName; }
87
88 void PrintDetectorGeom(std::ostream &out);
46906312 89
90private:
91
92 /** The minimum in eta */
93 Double_t fEtaMin; // The minimum in eta
94
95 /** The maximum in eta */
96 Double_t fEtaMax; // The maximum in eta
97
98 /** The minimum in phi */
99 Double_t fPhiMin; // The minimum in phi
100
101 /** The maximum in phi */
102 Double_t fPhiMax; // The maximum in phi
103
104 /**
105 * The point which together with a normal vector
106 * defines the plane of the (sub-)detector
107 */
108 Double_t fInitalPoint[3]; // Point representing the plane
109
110 /**
111 * The normal vector which together with a point
112 * defines the plane of the (sub-)detector
113 */
114 Double_t fNormVector[3]; // Normal vector representing the plane
115
116 /** Name of the (sub-)detector */
117 TString fName; // Name of the (sub-)detector
118
119 ClassDef(AliHLTTriggerDetectorGeom, 1);
120
121};
122
123#endif