]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisDataContainer.h
New changes for Eta shift
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisDataContainer.h
index ce901f82314b4158dfcb95325e2eda5829ace21b..4ac8007d98c62eb83ead7765b3bc78bc7dd8a4b6 100644 (file)
@@ -34,6 +34,8 @@ class TCollection;
 class AliAnalysisTask;
 class AliAnalysisDataWrapper;
 
+using std::ostream;
+
 class AliAnalysisDataContainer : public TNamed {
 
 public:
@@ -45,7 +47,9 @@ enum ENotifyMessage {
 enum EAnalysisContainerFlags {
    kPostEventLoop = BIT(14),
    kSpecialOutput = BIT(15),
-   kRegisterDataset = BIT(16)
+   kRegisterDataset = BIT(16),
+   kExchangeData  = BIT(17),
+   kTouchedFlag   = BIT(18)
 };     
    AliAnalysisDataContainer();
    AliAnalysisDataContainer(const AliAnalysisDataContainer &cont);
@@ -64,15 +68,18 @@ enum EAnalysisContainerFlags {
    TObjArray                *GetConsumers() const {return fConsumers;}
    virtual void              GetEntry(Long64_t ientry);
    // Setters
+   void                      Reset()              {fData = 0; fDataReady = kFALSE; SetTouched(kFALSE);}
    void                      ResetDataReady()     {fDataReady = kFALSE;}
    virtual Bool_t            SetData(TObject *data, Option_t *option="");
    void                      SetDataOwned(Bool_t flag) {fOwnedData = flag;}
+   void                      SetExchange(Bool_t flag) {TObject::SetBit(kExchangeData,flag);}
    void                      SetPostEventLoop(Bool_t flag=kTRUE) {TObject::SetBit(kPostEventLoop,flag);}
    void                      SetSpecialOutput(Bool_t flag=kTRUE) {TObject::SetBit(kSpecialOutput,flag);}
    void                      SetRegisterDataset(Bool_t flag=kTRUE) {TObject::SetBit(kRegisterDataset,flag);}
    void                      SetFileName(const char *filename);
    void                      SetFile(TFile *f) {fFile = f;}
    void                      SetProducer(AliAnalysisTask *prod, Int_t islot);
+   void                      SetTouched(Bool_t flag=kTRUE)       {TObject::SetBit(kTouchedFlag,flag);}
    void                      AddConsumer(AliAnalysisTask *cons, Int_t islot);
    void                      DeleteData();
    // Wrapping
@@ -80,9 +87,11 @@ enum EAnalysisContainerFlags {
    void                      ImportData(AliAnalysisDataWrapper *pack);
    // Container status checking
    Bool_t                    IsDataReady() const  {return fDataReady;}
+   Bool_t                    IsExchange() const      {return TObject::TestBit(kExchangeData);}
    Bool_t                    IsPostEventLoop() const {return TObject::TestBit(kPostEventLoop);}
    Bool_t                    IsSpecialOutput() const {return TObject::TestBit(kSpecialOutput);}
    Bool_t                    IsRegisterDataset() const {return TObject::TestBit(kRegisterDataset);}
+   Bool_t                    IsTouched() const       {return TObject::TestBit(kTouchedFlag);}
    Bool_t                    IsOwnedData() const  {return fOwnedData;}
    Bool_t                    ClientsExecuted() const;
    Bool_t                    HasConsumers() const {return (fConsumers != 0);}
@@ -176,7 +185,7 @@ public:
    const char  *GetUrl() const    {return fUrl;}
    Bool_t       IsArchive() const {return fIsArchive;}
    virtual void Print(Option_t *option="") const;
-   virtual void SavePrimitive(ostream &out, Option_t *option = "");
+   virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
    void         SetOpenTime(Double_t time) {fOpenTime = time;}