]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/jetan2004/AliTkJetTriggerEvent.cxx
Moving the 2004 version of JETAN to subdirectory jetan2004
[u/mrichter/AliRoot.git] / JETAN / jetan2004 / AliTkJetTriggerEvent.cxx
1 // $Id$
2
3 #include "AliTkJetTriggerEvent.h"
4
5 AliTkJetTriggerEvent::AliTkJetTriggerEvent() : TObject() {
6   decisions = new TClonesArray("AliTkJetTriggerDecision",10000);
7   counter = 0;
8 }
9
10 AliTkJetTriggerEvent::AliTkJetTriggerEvent(AliTkJetTriggerEvent &t) : TObject() {
11   counter = t.counter;
12   decisions = new TClonesArray("AliTkJetTriggerDecision",counter);
13   TIterator *iter = t.decisions->MakeIterator();
14   UInt_t pos = 0;
15   AliTkJetTriggerDecision *dec;
16   while ((dec = (AliTkJetTriggerDecision *) iter->Next()) != NULL) {
17     new ((*decisions)[pos++]) AliTkJetTriggerDecision(*dec);
18   }
19 }
20
21 void AliTkJetTriggerEvent::addDecision(AliTkJetTriggerDecision *d) {
22   // let's check if we have already a decision for this trigger configuration
23   TIterator *iter = decisions->MakeIterator();
24   AliTkJetTriggerDecision *myDec;
25   while ((myDec = (AliTkJetTriggerDecision *) iter->Next()) != NULL) {
26     if ((d->getNParticles() == myDec->getNParticles()) &&
27         (d->getConeRadius() == myDec->getConeRadius()) &&
28         (d->getPtThreshold() == myDec->getPtThreshold())) {
29       delete iter;
30       return;
31     }
32   }
33   // we dont have a decision, let's add it...
34   new ((*decisions)[counter++]) AliTkJetTriggerDecision(*d);
35 }
36
37 void AliTkJetTriggerEvent::clear() {
38   decisions->Delete();
39   counter = 0;
40 }
41
42 Bool_t AliTkJetTriggerEvent::isEventTriggered(Float_t coneRadius, 
43                                            UInt_t nParticles,
44                                            Float_t ptThreshold) {
45   AliTkJetTriggerDecision *dec;
46   TIterator *iter = decisions->MakeIterator();
47   while ((dec = (AliTkJetTriggerDecision *) iter->Next()) != NULL) {
48     if ((dec->getConeRadius() == coneRadius) &&
49         (dec->getNParticles() == nParticles) &&
50         (dec->getPtThreshold() == ptThreshold)) {
51       delete iter;
52       return kTRUE;
53     }
54   }
55   delete iter;
56   return kFALSE;
57 }
58
59 ClassImp(AliTkJetTriggerEvent)