/// @brief HLT class describing simple geometry of (sub-)detectors.
/// Used for the AliHLTTriggerBarrelGeomMultiplicity classes
+
+#include "TString.h"
+#include <ostream>
+#include "TObject.h"
+#include "TString.h"
+#include <ostream>
#include "TObject.h"
/**
* @class AliHLTTriggerDetectorGeom
* HLT class describing simple geometry cuts of (sub-)detectors.
- * Used for the AliHLTTriggerBarrelGeomMultiplicity classes
+ * Used for the AliHLTTriggerBarrelGeomMultiplicity class
*
* \ingroup alihlt_trigger
*/
* Set the initial point describing the plane
* @param point is the point
*/
- void SetInitialPoint(Double_t &point[3]); // Set initial point
+ void SetInitialPoint(Double_t *point); // Set initial point
/**
* Set the vector describing the plane
* @param nVector is a the vector
*/
- void SetNormVector(Double_t &nVector[3]); // Set normal vector
+ void SetNormVector(Double_t *nVector); // Set normal vector
/**
* Set the name of the (sub-)detector
* @param name is the name
*/
- void SetName(TString &name) { fName = name; } // Set name
+ void SetDetName(TString &name) { fName = name; } // Set name
+
+ /**
+ * Get the minimum in eta (should be moved...)
+ */
+ Double_t EtaMin() { return fEtaMin; }
+
+ /**
+ * Get the maximum in eta (should be moved...)
+ */
+ Double_t EtaMax() { return fEtaMax; }
+
+ /**
+ * Get the minimum in phi (should be moved...)
+ */
+ Double_t PhiMin() { return fPhiMin; }
+
+ /**
+ * Get the maximum in phi (should be moved...)
+ */
+ Double_t PhiMax() { return fPhiMax; }
+
+ /**
+ * Get the initial point
+ */
+ void GetInitialPoint(Double_t *point);
+
+ /**
+ * Get the normal vector
+ */
+ void GetNormVector(Double_t *vec);
+
+ /**
+ * Get the detector name
+ */
+ TString& DetName() { return fName; }
+
+ /**
+ * Print the geometry
+ */
+ void PrintDetectorGeom(std::ostream &out);
+
+ /**
+ * Abstract method to check if a point is in the
+ * acceptance of the geometry
+ */
+ virtual Bool_t IsInDetector(Double_t point[3]) = 0;
-private:
+protected:
/** The minimum in eta */
Double_t fEtaMin; // The minimum in eta
/** The maximum in phi */
Double_t fPhiMax; // The maximum in phi
+
+ /** Name of the (sub-)detector */
+ TString fName; // Name of the (sub-)detector
+private:
+
/**
* The point which together with a normal vector
* defines the plane of the (sub-)detector
*/
Double_t fNormVector[3]; // Normal vector representing the plane
- /** Name of the (sub-)detector */
- TString fName; // Name of the (sub-)detector
-
ClassDef(AliHLTTriggerDetectorGeom, 1);
};