ROOT logo
#ifndef _ALINANOAODSTORAGE_H_
#define _ALINANOAODSTORAGE_H_


//-------------------------------------------------------------------------
//  AliNanoAODStorage
//
//  Implements the storage for special AOD classes 
//
//-------------------------------------------------------------------------
#include <iostream>
#include "TObject.h"
#include "AliLog.h"


class AliNanoAODStorage  {

public:
  AliNanoAODStorage():fNVars(0), fVars(0) {;}
  virtual ~AliNanoAODStorage() {;};

  AliNanoAODStorage& operator=(const AliNanoAODStorage& sto);

  void AllocateInternalStorage(Int_t size);
  void SetVar(Int_t index, Double_t var) { 
    if(index>=0 && index < fNVars)  fVars[index] = var;  
    else AliFatal(Form("Variable %d not included in this special aod", index));
  }
  Double_t GetVar(Int_t index)  const {
    if(index>=0 && index < fNVars) return fVars[index]; 
    AliFatal(Form("Variable %d not included in this special aod", index));
    return 0;}
  virtual const char *ClassName() const {return "AliNanoAODStorage";} // Needed for alifatal. The class cannot inherit from TObject, otherwise we mix (and mess up) inheritance in the track, as it also inherits from AliVTrack which inherits from TObject.

protected:

  Int_t    fNVars;     // Number of kimematic variables, set by constructor
  std::vector<Double32_t> fVars; // Array of kinematic vars. Here we use an STL vector because it produces ~5% smaller files. It may be aslo splittable

  ClassDef(AliNanoAODStorage, 1)
};



#endif /* _ALINANOAODSTORAGE_H_ */
 AliNanoAODStorage.h:1
 AliNanoAODStorage.h:2
 AliNanoAODStorage.h:3
 AliNanoAODStorage.h:4
 AliNanoAODStorage.h:5
 AliNanoAODStorage.h:6
 AliNanoAODStorage.h:7
 AliNanoAODStorage.h:8
 AliNanoAODStorage.h:9
 AliNanoAODStorage.h:10
 AliNanoAODStorage.h:11
 AliNanoAODStorage.h:12
 AliNanoAODStorage.h:13
 AliNanoAODStorage.h:14
 AliNanoAODStorage.h:15
 AliNanoAODStorage.h:16
 AliNanoAODStorage.h:17
 AliNanoAODStorage.h:18
 AliNanoAODStorage.h:19
 AliNanoAODStorage.h:20
 AliNanoAODStorage.h:21
 AliNanoAODStorage.h:22
 AliNanoAODStorage.h:23
 AliNanoAODStorage.h:24
 AliNanoAODStorage.h:25
 AliNanoAODStorage.h:26
 AliNanoAODStorage.h:27
 AliNanoAODStorage.h:28
 AliNanoAODStorage.h:29
 AliNanoAODStorage.h:30
 AliNanoAODStorage.h:31
 AliNanoAODStorage.h:32
 AliNanoAODStorage.h:33
 AliNanoAODStorage.h:34
 AliNanoAODStorage.h:35
 AliNanoAODStorage.h:36
 AliNanoAODStorage.h:37
 AliNanoAODStorage.h:38
 AliNanoAODStorage.h:39
 AliNanoAODStorage.h:40
 AliNanoAODStorage.h:41
 AliNanoAODStorage.h:42
 AliNanoAODStorage.h:43
 AliNanoAODStorage.h:44
 AliNanoAODStorage.h:45