//-------------------------------------------------------------------------
#include "AliESDHeader.h"
-
+#include "AliTriggerScalersESD.h"
+#include "AliTriggerScalersRecordESD.h"
+#include "AliTriggerIR.h"
+#include "AliLog.h"
ClassImp(AliESDHeader)
fTriggerCluster(0),
fL0TriggerInputs(0),
fL1TriggerInputs(0),
- fL2TriggerInputs(0)
-// fTriggerScalers(0x0)
+ fL2TriggerInputs(0),
+ fTriggerScalers(),
+ fIRArray(0)
{
// default constructor
SetName("AliESDHeader");
-}
-
+ fIRArray = new AliTriggerIR *[kNMaxIR];
+ for(Int_t i = 0; i<kNMaxIR ; i++) fIRArray[i] = 0;
+}
AliESDHeader::~AliESDHeader()
{
// destructor
+ for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i])delete fIRArray[i];
}
fTriggerCluster(header.fTriggerCluster),
fL0TriggerInputs(header.fL0TriggerInputs),
fL1TriggerInputs(header.fL1TriggerInputs),
- fL2TriggerInputs(header.fL2TriggerInputs)
-// fTriggerScalers(header.fTriggerScalers),
+ fL2TriggerInputs(header.fL2TriggerInputs),
+ fTriggerScalers(header.fTriggerScalers),
+ fIRArray(0)
{
// copy constructor
-
SetName(header.fName);
SetTitle(header.fTitle);
+ fIRArray = new AliTriggerIR *[kNMaxIR];
+ for(Int_t i = 0; i<kNMaxIR ; i++) {
+ if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
+ else fIRArray[i]=0;
+ }
}
AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
fL0TriggerInputs = header.fL0TriggerInputs;
fL1TriggerInputs = header.fL1TriggerInputs;
fL2TriggerInputs = header.fL2TriggerInputs;
-// fTriggerScalers = header.fTriggerScalers;
+ fTriggerScalers = header.fTriggerScalers;
+ fIRArray = new AliTriggerIR *[kNMaxIR];
+ for(Int_t i = 0; i<kNMaxIR ; i++) {
+ if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
+ else fIRArray[i]=0;
+ }
SetName(header.fName);
SetTitle(header.fTitle);
return *this;
}
-void AliESDHeader::Copy(TObject &obj) const {
-
+void AliESDHeader::Copy(TObject &obj) const
+{
// this overwrites the virtual TOBject::Copy()
// to allow run time copying without casting
// in AliESDEvent
*robj = *this;
}
-
-
-
//______________________________________________________________________________
void AliESDHeader::Reset()
{
fL0TriggerInputs = 0;
fL1TriggerInputs = 0;
fL2TriggerInputs = 0;
-// fTriggerScalers = 0;
+ fTriggerScalers.Reset();
+ for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i]){
+ delete fIRArray[i];
+ fIRArray[i]=0;
+ }
+}
+//______________________________________________________________________________
+Bool_t AliESDHeader::AddTriggerIR(const AliTriggerIR* ir)
+{
+ // Adds trigger interaction record to array
+ for(Int_t i=0;i<kNMaxIR;i++){
+ if(!fIRArray[i]){
+ fIRArray[i]=const_cast<AliTriggerIR*>(ir);
+ return 0;
+ }
+ }
+ //AliErrorClass("Attempt to add # of IRs > kNMaxIR \n");
+ return 1;
}
-
//______________________________________________________________________________
void AliESDHeader::Print(const Option_t *) const
{