adding common functionality for the magnetic field to the component interface
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 7 Nov 2009 16:55:09 +0000 (16:55 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 7 Nov 2009 16:55:09 +0000 (16:55 +0000)
HLT/BASE/AliHLTComponent.cxx
HLT/BASE/AliHLTComponent.h
HLT/BASE/AliHLTMisc.cxx
HLT/BASE/AliHLTMisc.h
HLT/rec/AliHLTMiscImplementation.cxx
HLT/rec/AliHLTMiscImplementation.h

index 2ac2064..0e95387 100644 (file)
@@ -2490,3 +2490,21 @@ bool AliHLTComponent::EvaluateCTPTriggerClass(const char* expression, AliHLTComp
 
   return fpCTPData->EvaluateCTPTriggerClass(expression, trigData);
 }
+
+Double_t AliHLTComponent::GetBz()
+{
+  // Returns Bz.
+  return AliHLTMisc::Instance().GetBz();
+}
+
+Double_t AliHLTComponent::GetBz(const Double_t *r)
+{
+  // Returns Bz (kG) at the point "r" .
+  return AliHLTMisc::Instance().GetBz(r);
+}
+
+void AliHLTComponent::GetBxByBz(const Double_t r[3], Double_t b[3])
+{
+  // Returns Bx, By and Bz (kG) at the point "r" .
+  AliHLTMisc::Instance().GetBxByBz(r, b);
+}
index 492b21c..409ed98 100644 (file)
@@ -1415,6 +1415,19 @@ class AliHLTComponent : public AliHLTLogging {
   bool EvaluateCTPTriggerClass(const char* expression, AliHLTComponentTriggerData& trigData) const;
 
   /**
+   * Get the overall solenoid field.
+   */
+  Double_t GetBz();
+  /**
+   * Get the solenoid field at point r.
+   */
+  Double_t GetBz(const Double_t *r);
+  /**
+   * Get the solenoid field components at point r.
+   */
+  void GetBxByBz(const Double_t r[3], Double_t b[3]);
+
+  /**
    * Check whether the current event is a valid data event.
    * @param pTgt    optional pointer to get the event type
    * @return true if the current event is a real data event
index 686e8f4..07d3d5e 100644 (file)
@@ -124,6 +124,24 @@ AliHLTUInt64_t AliHLTMisc::GetTriggerMask(AliRawReader* /*rawReader*/) const
   return 0;
 }
 
+Double_t AliHLTMisc::GetBz()
+{
+  // default method, functionality is implemented in the child class
+  return 0.0;
+}
+
+Double_t AliHLTMisc::GetBz(const Double_t *r)
+{
+  // default method, functionality is implemented in the child class
+  return 0.0;
+}
+
+void AliHLTMisc::GetBxByBz(const Double_t r[3], Double_t b[3])
+{
+  // default method, functionality is implemented in the child class
+  return;
+}
+
 ostream  &operator<<(ostream &out, const AliHLTComponentDataType &dt)
 {
   // printout of AliHLTComponentDataType struct
index 666af13..ccdf6bd 100644 (file)
@@ -44,6 +44,10 @@ class AliHLTMisc : public TObject {
 
   virtual AliHLTUInt64_t GetTriggerMask(AliRawReader* rawReader) const;
 
+  virtual Double_t GetBz();
+  virtual Double_t GetBz(const Double_t *r);
+  virtual void GetBxByBz(const Double_t r[3], Double_t b[3]);
+
  private:
   static AliHLTMisc* fgInstance;
 
index 0451165..fbfea54 100644 (file)
@@ -28,6 +28,7 @@
 #include "AliCDBEntry.h"
 #include "AliGRPManager.h"
 #include "AliRawReader.h"
+#include "AliTracker.h"
 #include "TGeoGlobalMagField.h"
 
 /** ROOT macro for the implementation of ROOT specific class methods */
@@ -144,3 +145,21 @@ AliHLTUInt64_t AliHLTMiscImplementation::GetTriggerMask(AliRawReader* rawReader)
   }
   return trgMask;
 }
+
+Double_t AliHLTMiscImplementation::GetBz()
+{
+  // Returns Bz.
+  return AliTracker::GetBz();
+}
+
+Double_t AliHLTMiscImplementation::GetBz(const Double_t *r)
+{
+  // Returns Bz (kG) at the point "r" .
+  return AliTracker::GetBz(r);
+}
+
+void AliHLTMiscImplementation::GetBxByBz(const Double_t r[3], Double_t b[3])
+{
+  // Returns Bx, By and Bz (kG) at the point "r" .
+  return AliTracker::GetBxByBz(r, b);
+}
index 833d979..71715f1 100644 (file)
@@ -33,6 +33,10 @@ class AliHLTMiscImplementation : public AliHLTMisc
 
   AliHLTUInt64_t GetTriggerMask(AliRawReader* rawReader) const;
 
+  Double_t GetBz();
+  Double_t GetBz(const Double_t *r);
+  void GetBxByBz(const Double_t r[3], Double_t b[3]);
+
  private:
 
   ClassDef(AliHLTMiscImplementation, 0)