CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaParPaths.h

Go to the documentation of this file.
00001 #ifndef ZTR_TEcnaParPaths
00002 #define ZTR_TEcnaParPaths
00003 
00004 #include <Riostream.h>
00005 
00006 #include "TObject.h"
00007 #include "TSystem.h"
00008 #include "Riostream.h"
00009 
00010 #include "CalibCalorimetry/EcalCorrelatedNoiseAnalysisAlgos/interface/TEcnaObject.h"
00011 
00023 
00024 class TEcnaParPaths : public TObject {
00025 
00026  private:
00027 
00028   //..... Attributes
00029 
00030   Int_t   fgMaxCar;   // Max nb of caracters for char*
00031 
00032   Int_t   fCnew,        fCdelete;
00033   Int_t   fCnewRoot,    fCdeleteRoot;
00034 
00035   TString fTTBELL;
00036 
00037   Int_t   fCnaCommand,  fCnaError;
00038 
00039   ifstream fFcin_rr;          // stream for results root files 
00040   ifstream fFcin_ra;          // stream for results ascii files 
00041   ifstream fFcin_lor;         // stream for list of runs files
00042   //  ifstream fFcin_anapar;      // stream for EcnaAnalyzer parameters files
00043   ifstream fFcin_cmssw;       // stream for cmssw version and subsystem 
00044 
00045   TString fCfgResultsRootFilePath;     // absolute path for the results .root files (/afs/etc...)
00046   TString fFileForResultsRootFilePath; // name of the file containing the results .root  file path
00047 
00048   TString fCfgResultsAsciiFilePath;     // absolute path for the results .ascii files (/afs/etc...)
00049   TString fFileForResultsAsciiFilePath; // name of the file containing the results .ascii file path
00050 
00051   TString fCfgHistoryRunListFilePath;       // absolute path for the list-of-runs .ascii files (/afs/etc...)
00052   TString fFileForHistoryRunListFilePath;   // name of the file containing the list-of-run file path
00053 
00054   TString fCfgCMSSWBase;           // CMSSW base user's directory
00055   TString fCfgCMSSWSubsystem;      // CMSSW subsystem name
00056   TString fCfgSCRAMArch;           // SCRAM ARCHITECTURE
00057   TString fFileForCMSSWParameters; // name of the file containing the CMSSW version, subsystem and slc
00058 
00059  public:
00060 
00061   //..... Methods
00062 
00063            TEcnaParPaths();
00064            TEcnaParPaths(TEcnaObject*);
00065   virtual  ~TEcnaParPaths();
00066 
00067   void    Init();
00068 
00069   Bool_t GetPathForResultsRootFiles();
00070   Bool_t GetPathForResultsAsciiFiles();
00071   Bool_t GetPathForHistoryRunListFiles();
00072   void   GetCMSSWParameters();
00073 
00074   Bool_t GetPathForResultsRootFiles(const TString);
00075   Bool_t GetPathForResultsAsciiFiles(const TString);
00076   Bool_t GetPathForHistoryRunListFiles(const TString);
00077   //  Bool_t GetCMSSWParameters(const TString);
00078 
00079   Bool_t  GetPaths();
00080 
00081   TString ResultsRootFilePath();
00082   TString ResultsAsciiFilePath();
00083   TString HistoryRunListFilePath();
00084   TString CMSSWBase();
00085   TString CMSSWSubsystem();
00086   TString SCRAMArch();
00087 
00088   void SetResultsRootFilePath(const TString);
00089   void SetResultsAsciiFilePath(const TString);
00090   void SetHistoryRunListFilePath(const TString);
00091 
00092   void TruncateResultsRootFilePath(const Int_t&, const Int_t&);
00093   void TruncateResultsAsciiFilePath(const Int_t&, const Int_t&);
00094 
00095   TString BeginningOfResultsRootFilePath();
00096   TString BeginningOfResultsAsciiFilePath();
00097 
00098   void AppendResultsRootFilePath(const Text_t *);
00099   void AppendResultsAsciiFilePath(const Text_t *);
00100 
00101   TString PathModulesData();
00102   TString PathTestScramArch();
00103 
00104 
00105 ClassDef(TEcnaParPaths,1)// Parameter management for ECNA (Ecal Correlated Noises Analysis)
00106 
00107 };
00108 
00109 #endif   //    ZTR_TEcnaParPaths