//  
// Author: Sebastian Beumler <mailto: beumler@physik.hu-berlin.de>
// Update: $Id: HepK0sDecay.h,v 1.3 2010/04/16 16:11:47 sbeumler Exp $
// Copyright: 2010 (C) Sebastian Beumler
//
#ifndef HEP_HepK0sDecay
#define HEP_HepK0sDecay
#ifndef HEP_HepDecayParticle
#include <HepDecayParticle.h>
#endif

class HepVertex;

class HepK0sDecay : public HepDecayParticle {

private:
    TRef    *fDaughter1;   // Daughter particle 1
    TRef    *fDaughter2;   // Daughter particle 2
    TRef    *fVtx;         // Associated Vertex
    Float_t  fDecayLength; // Distance from primary vtx (cm)
    HepParticle fFit_Daughter1; // in case of using the kinematic fitter,
    HepParticle fFit_Daughter2; // storig new momenta and PDGCode
    
public:
    HepK0sDecay();
    HepK0sDecay(Int_t Id, Float_t Px, Float_t Py, Float_t Pz,
		Float_t E, TObject *Daughter1, TObject *Daughter2,
		HepVertex *DecayVtx, HepVertex* PrimaryVtx,
		HepParticle Fit_Daughter1, HepParticle Fit_Daughter2);
    virtual ~HepK0sDecay();
    virtual void Clear(Option_t *option);
    Float_t GetLifeTime();
    
    inline Float_t GetDecayLength() const { return fDecayLength; }
    inline TObject* GetDaughter1()   { return fDaughter1->GetObject(); }
    inline TObject* GetDaughter2()   { return fDaughter2->GetObject(); }
    virtual inline TObject* GetVtx() { return fVtx->GetObject();       }
    inline HepParticle GetFit_Daughter1() { return fFit_Daughter1;     }
    inline HepParticle GetFit_Daughter2() { return fFit_Daughter2;     }
     
    ClassDef(HepK0sDecay,3) // Base K0s decay class
};
#endif

 HepK0sDecay.h:1
 HepK0sDecay.h:2
 HepK0sDecay.h:3
 HepK0sDecay.h:4
 HepK0sDecay.h:5
 HepK0sDecay.h:6
 HepK0sDecay.h:7
 HepK0sDecay.h:8
 HepK0sDecay.h:9
 HepK0sDecay.h:10
 HepK0sDecay.h:11
 HepK0sDecay.h:12
 HepK0sDecay.h:13
 HepK0sDecay.h:14
 HepK0sDecay.h:15
 HepK0sDecay.h:16
 HepK0sDecay.h:17
 HepK0sDecay.h:18
 HepK0sDecay.h:19
 HepK0sDecay.h:20
 HepK0sDecay.h:21
 HepK0sDecay.h:22
 HepK0sDecay.h:23
 HepK0sDecay.h:24
 HepK0sDecay.h:25
 HepK0sDecay.h:26
 HepK0sDecay.h:27
 HepK0sDecay.h:28
 HepK0sDecay.h:29
 HepK0sDecay.h:30
 HepK0sDecay.h:31
 HepK0sDecay.h:32
 HepK0sDecay.h:33
 HepK0sDecay.h:34
 HepK0sDecay.h:35
 HepK0sDecay.h:36
 HepK0sDecay.h:37
 HepK0sDecay.h:38
 HepK0sDecay.h:39
 HepK0sDecay.h:40
 HepK0sDecay.h:41
 HepK0sDecay.h:42
 HepK0sDecay.h:43
 HepK0sDecay.h:44