fix compiler warning
authorraverbec <raverbec@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Aug 2013 18:30:52 +0000 (18:30 +0000)
committerraverbec <raverbec@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 30 Aug 2013 18:30:52 +0000 (18:30 +0000)
PWGHF/hfe/AliHFEV0taginfo.cxx
PWGHF/hfe/AliHFEV0taginfo.h

index d631e4c..503bee0 100644 (file)
@@ -42,6 +42,7 @@ ClassImp(AliHFEV0taginfo::AliHFEV0tag)
 //___________________________________________________________________
 AliHFEV0taginfo::AliHFEV0taginfo():
     TNamed(), 
+    fIsAODana(NULL),
     fTaggedTracks(NULL),
     fV0finder(NULL)
 {
@@ -52,6 +53,7 @@ AliHFEV0taginfo::AliHFEV0taginfo():
 //___________________________________________________________________
 AliHFEV0taginfo::AliHFEV0taginfo(const char* name):
     TNamed(name, ""), 
+    fIsAODana(kFALSE),
     fTaggedTracks(NULL),
     fV0finder(NULL)
 {
@@ -65,6 +67,50 @@ AliHFEV0taginfo::AliHFEV0taginfo(const char* name):
     }
     fV0finder = new AliESDv0KineCuts();
 }
+
+//__________________________________________________________________
+AliHFEV0taginfo::AliHFEV0taginfo(const AliHFEV0taginfo &ref):
+  TNamed(ref),
+    fIsAODana(ref.fIsAODana),
+    fTaggedTracks(NULL),
+    fV0finder(ref.fV0finder)
+{
+  //
+  // Copy constructor
+  // creates a new object with new (empty) containers
+  //
+    fTaggedTracks = new TList();
+    if(fTaggedTracks){
+        fTaggedTracks->SetOwner();
+    }
+
+
+    AliHFEV0tag *tmp = NULL;
+    for(Int_t ien = 0; ien < ref.fTaggedTracks->GetEntries(); ien++){
+        tmp = static_cast<AliHFEV0tag *>(ref.fTaggedTracks->At(ien));
+        fTaggedTracks->Add(new AliHFEV0tag(tmp->GetTrackID(),tmp->GetPinfo()));
+    }
+}
+
+//__________________________________________________________________
+AliHFEV0taginfo &AliHFEV0taginfo::operator=(const AliHFEV0taginfo &ref){
+    //
+    // Assignment operator
+    // Cleanup old object, create a new one with new containers inside
+    //
+    if(this == &ref) return *this;
+    this->~AliHFEV0taginfo(); 
+    TNamed::operator=(ref);
+    fIsAODana = ref.fIsAODana;
+    fTaggedTracks = new TList();
+    AliHFEV0tag *tmp = NULL;
+    for(Int_t ien = 0; ien < ref.fTaggedTracks->GetEntries(); ien++){
+        tmp = static_cast<AliHFEV0tag *>(ref.fTaggedTracks->At(ien));
+        fTaggedTracks->Add(new AliHFEV0tag(tmp->GetTrackID(),tmp->GetPinfo()));
+    }
+    fV0finder=ref.fV0finder;
+    return *this;
+}
 //___________________________________________________________________
 AliHFEV0taginfo::~AliHFEV0taginfo(){
 
index eb2b7c3..d8ceed7 100644 (file)
@@ -30,12 +30,15 @@ class AliHFEV0taginfo: public TNamed{
 
         AliHFEV0taginfo();
         AliHFEV0taginfo(const char* name);
+        AliHFEV0taginfo(const AliHFEV0taginfo &ref);
+        AliHFEV0taginfo& operator=(const AliHFEV0taginfo &ref);
         virtual ~AliHFEV0taginfo();
 
         void Reset(); //resets the fTaggedTracks TList
         void TagV0Tracks(AliESDEvent *event); // loops over V0s in event and fills fTaggedTracks with V0 tracks
         AliPID::EParticleType GetV0Info(Int_t trackID); //check for V0 information from track ID 
         void SetIsAODana() { fIsAODana = kTRUE; } // Setter AOD analysis
+        void SetIsESDana() { fIsAODana = kFALSE; } // Setter ESD analysis
         void AddTrack(Int_t TrackID, Int_t pdgCode); //Translates the pdg code to AliPID enum and adds track to tagged list (currently only e, pion and proton tracks)
 
         class AliHFEV0tag: public TObject{
@@ -46,7 +49,6 @@ class AliHFEV0taginfo: public TNamed{
                 AliHFEV0tag &operator=(const AliHFEV0tag &ref);
                 virtual ~AliHFEV0tag();
 
-
                 //TObject virtual functions
                 virtual Bool_t IsSortable() const { return kTRUE; };
                 virtual Bool_t IsEqual(const TObject *ref) const;
@@ -64,8 +66,8 @@ class AliHFEV0taginfo: public TNamed{
                 ClassDef(AliHFEV0taginfo::AliHFEV0tag,1);
         };
     private:
-        TList *fTaggedTracks;
         Bool_t fIsAODana;
+        TList *fTaggedTracks;
         AliESDv0KineCuts *fV0finder;
 
         ClassDef(AliHFEV0taginfo,1)