StHbtThCorrFctn.hh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /***************************************************************************
  2. *
  3. * $Id:
  4. *
  5. * Author: Laurent Conin, Fabrice Retiere, Subatech, France
  6. ***************************************************************************
  7. *
  8. * Description : pure abstract theoretical correlation function
  9. *
  10. ***************************************************************************
  11. *
  12. * $Log:
  13. *
  14. ***************************************************************************/
  15. #ifndef StHbtThCorrFctn_hh
  16. #define StHbtThCorrFctn_hh
  17. #include "StHbtMaker/Base/StHbtCorrFctn.hh"
  18. #include "StHbtMaker/Infrastructure/StHbtNamed.hh"
  19. #include "StHbtMaker/Infrastructure/StHbtPair.hh"
  20. #include "StHbtMaker/Base/StHbtThPair.hh"
  21. #include "StHbtMaker/ThCorrFctn/StHbtThPairDummy.h"
  22. class StHbtThCorrFctn : public virtual StHbtCorrFctn ,public virtual StHbtNamed{
  23. public:
  24. // --- Constructor
  25. StHbtThCorrFctn() :StHbtCorrFctn(),StHbtNamed() {};
  26. StHbtThCorrFctn(const char* aName) :StHbtCorrFctn(),StHbtNamed(aName) {};
  27. StHbtThCorrFctn(const StHbtThCorrFctn& aCf ) :StHbtCorrFctn(aCf),StHbtNamed(aCf) {};
  28. virtual ~StHbtThCorrFctn() {};
  29. void AddRealPair(const StHbtPair*);
  30. void AddMixedPair(const StHbtPair*);
  31. virtual void AddNum(StHbtThPair*)=0;
  32. virtual void AddDen(StHbtThPair*)=0;
  33. virtual StHbtThCorrFctn* ThClone() const =0;
  34. protected:
  35. StHbtThPairDummy mDefThPair;//!
  36. };
  37. inline void StHbtThCorrFctn::AddRealPair(const StHbtPair* aPair) {
  38. mDefThPair.Set(aPair);
  39. AddNum(&mDefThPair);
  40. }
  41. inline void StHbtThCorrFctn::AddMixedPair(const StHbtPair* aPair) {
  42. mDefThPair.Set(aPair);
  43. AddDen(&mDefThPair);
  44. }
  45. #endif