32 #ifndef ROOT_TMVA_PDEFoamDensityBase
33 #define ROOT_TMVA_PDEFoamDensityBase
45 class PDEFoamDensityBase :
public ::TObject
48 std::vector<Double_t> fBox;
50 Bool_t fBoxHasChanged;
53 BinarySearchTree *fBst;
54 mutable MsgLogger *fLogger;
56 MsgLogger& Log()
const {
return *fLogger; }
59 Double_t GetBoxVolume();
63 PDEFoamDensityBase(std::vector<Double_t> box);
64 PDEFoamDensityBase(
const PDEFoamDensityBase&);
65 virtual ~PDEFoamDensityBase();
68 void FillBinarySearchTree(
const Event* ev);
71 void SetBox(std::vector<Double_t> box) { fBox = box; fBoxHasChanged = kTRUE; }
74 const std::vector<Double_t>& GetBox()
const {
return fBox; }
78 virtual Double_t Density(std::vector<Double_t> &Xarg, Double_t &event_density) = 0;
80 ClassDef(PDEFoamDensityBase, 1)