]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/EMCAL/AliEmcalContainer.cxx
Use of AliEmcalParticle with new dev classes
[u/mrichter/AliRoot.git] / PWG / EMCAL / AliEmcalContainer.cxx
1 //
2 // Emcal Container Base class
3 //
4 // Author: M. Verweij
5
6
7 #include <TClonesArray.h>
8
9 #include "AliEmcalJet.h"
10 #include "AliVEvent.h"
11 #include "AliLog.h"
12
13 #include "AliEmcalContainer.h"
14
15 ClassImp(AliEmcalContainer)
16
17 //________________________________________________________________________
18 AliEmcalContainer::AliEmcalContainer():
19   TNamed("AliEmcalContainer","AliEmcalContainer"),
20   fClArray(0),
21   fClArrayName(),
22   fClassName(),
23   fCurrentID(0)
24 {
25   // Default constructor.
26
27   fVertex[0] = 0;
28   fVertex[1] = 0;
29   fVertex[2] = 0;
30 }
31
32 //________________________________________________________________________
33 AliEmcalContainer::AliEmcalContainer(const char *name):
34   TNamed(name,name),
35   fClArray(0),
36   fClArrayName(),
37   fClassName(),
38   fCurrentID(0)
39 {
40   // Standard constructor.
41
42   fVertex[0] = 0;
43   fVertex[1] = 0;
44   fVertex[2] = 0;
45 }
46
47 //________________________________________________________________________
48 void AliEmcalContainer::SetArray(AliVEvent *event) 
49 {
50   // Get array from event.
51
52   const AliVVertex *vertex = event->GetPrimaryVertex();
53   if (vertex) vertex->GetXYZ(fVertex);
54
55   if (!fClArrayName.IsNull() && !fClArray) {
56     fClArray = dynamic_cast<TClonesArray*>(event->FindListObject(fClArrayName));
57     if (!fClArray) {
58       AliError(Form("%s: Could not retrieve array with name %s!", GetName(), fClArrayName.Data())); 
59       return;
60     }
61   } else {
62     return;
63   }
64
65   if (!fClassName.IsNull()) {
66     TString objname(fClArray->GetClass()->GetName());
67     TClass cls(objname);
68     if (!cls.InheritsFrom(fClassName)) {
69       AliError(Form("%s: Objects of type %s in %s are not inherited from %s!", 
70                     GetName(), cls.GetName(), fClArrayName.Data(), fClassName.Data())); 
71       fClArray = 0;
72     }
73   }
74 }