]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliJFPreCluster.cxx
Version of the jet analysis module from v4-01-Release
[u/mrichter/AliRoot.git] / JETAN / AliJFPreCluster.cxx
1 // $Id$
2
3 #include <Riostream.h>
4
5 #include <TMath.h>
6 #include <TParticle.h>
7
8 #include "AliJFPreCluster.h"
9
10 ClassImp(AliJFPreCluster)
11
12 AliJFPreCluster::AliJFPreCluster() : fPx(0),fPy(0),fPz(0),fE(0),fParticles("TParticle",0)
13 {
14 }
15
16 AliJFPreCluster::AliJFPreCluster(const AliJFPreCluster &copy) :
17               fPx(0),fPy(0),fPz(0),fE(0),fParticles("TParticle",0)
18 {
19   fPx=copy.GetPx();
20   fPy=copy.GetPy();
21   fPz=copy.GetPz();
22   fE=copy.GetE();
23   fParticles.Expand(copy.GetParticles()->GetEntries());
24   fParticles.AddAll((TClonesArray*)copy.GetParticles());
25 }
26
27 AliJFPreCluster::AliJFPreCluster(const TParticle *p) :
28               fPx(0),fPy(0),fPz(0),fE(0),fParticles("TParticle",0)
29 {
30   fPx=p->Px();
31   fPy=p->Py();
32   fPz=p->Pz();
33   fE=p->Energy();
34   fParticles.Expand(1);
35   fParticles[0]=new TParticle(*p);
36 }
37
38 AliJFPreCluster::AliJFPreCluster(Float_t px, Float_t py, Float_t pz, Float_t E, const TParticle *p) : 
39               fPx(px),fPy(py),fPz(pz),fE(E),fParticles("TParticle",0)
40 {
41   if(fE<0) fE=TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz);
42   fParticles.Expand(1);
43   fParticles[0]=new TParticle(*p);
44 }
45
46 AliJFPreCluster::AliJFPreCluster(Float_t px, Float_t py, Float_t pz, Float_t E, TClonesArray *parts) : 
47               fPx(px),fPy(py),fPz(pz),fE(E),fParticles("TParticle",0)
48 {
49   if(fE<0) fE=TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz);
50   fParticles.Expand(parts->GetEntries());
51   fParticles.AddAll(parts);
52 }
53
54 AliJFPreCluster::~AliJFPreCluster()
55 {
56   fParticles.Delete();
57 }
58
59 AliJFPreCluster& AliJFPreCluster::operator=(const AliJFPreCluster &rhs)
60 {
61   fPx=rhs.GetPx();
62   fPy=rhs.GetPy();
63   fPz=rhs.GetPz();
64   fE=rhs.GetE();
65   fParticles.Delete();
66   fParticles.Expand(rhs.GetParticles()->GetEntries());
67   fParticles.AddAll((TClonesArray*)rhs.GetParticles());
68
69   return *this;
70 }
71
72 ostream& operator<<(ostream& o, const AliJFPreCluster &c)
73 {
74   o << c.GetPx() << " " << c.GetPy() << " " << c.GetPz() << " " << c.GetE();
75
76   return o;
77 }
78     
79 /*
80 void AliJFPreCluster::SetValues(Float_t px, Float_t py, Float_t pz, Float_t E) 
81 {
82   fPx=px;
83   fPy=py;
84   fPz=pz;
85   fE=E;
86
87   if(fE<0) fE=TMath::Sqrt(fPx*fPx+fPy+fPy+fPz*fPz);
88 }
89 */