Changeset 3913 in Sophya for trunk/AddOn/TAcq/brparam.h
- Timestamp:
- Nov 26, 2010, 2:45:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/brparam.h
r3909 r3913 20 20 #include <string> 21 21 #include <vector> 22 #include <map> 22 23 #include <iostream> 23 24 #include "brpaqu.h" … … 61 62 BRConfList(BRConfList const & cf); 62 63 63 void SetBaseDirectory(string basedir); 64 void Set(BRConfList const & cf); 64 void SetBaseDirectory(string& basedir); 65 BRConfList& Set(BRConfList const & cf); 66 inline BRConfList& operator = (BRConfList const & cf) { return Set(cf); } 67 68 int SetFiberIds(string& sfids); // Identification absolue des fibres sous forme de 3,5,8 69 65 70 ostream& Print(ostream& os) ; 66 71 void ReadDCFile(string file); 67 72 inline const string& BaseDirectory() const { return basedir_; } 73 inline const string& TmpDirectory() const { return tmpdir_; } 74 75 inline int FiberId(int numfib) 76 { size_t ff=numfib-1; if (ff<fiberIds_.size()) return fiberIds_[ff]; else return 0; } 77 78 void InitFromEnv(); // initialisation a partir de variables d'environnement 68 79 //....................................... 69 80 string basedir_; 70 81 vector<ADCBoardDesc> boards_; 82 string fiberIdsS_; // String_liste des numeros 'absolu' des fibres 12,13,14,15 par exemple 83 vector<int> fiberIds_; // liste des numero d'identification 'absolu' des fibres {12,13,14,15} par ex. 84 string tmpdir_; // repertoire pour fichiers temporaires 71 85 }; 72 86 … … 86 100 void ReadDCFile(string file); 87 101 88 // Nombre de fibres 89 inline size_t NFibers() { return FiberNum.size(); } 90 inline size_t NbFibers() { return FiberNum.size(); } 102 // Nombre de fibres pour acquisition 103 inline size_t NFibers() { return fiberNum_.size(); } 104 inline size_t NbFibers() { return fiberNum_.size(); } 105 // Numeros des fibres pour acquisition 106 inline int FiberNum(size_t fib) 107 { if (fib<fiberNum_.size()) return fiberNum_[fib]; else return 0; } 91 108 // Taille des operations DMA (en octets) 92 109 inline uint_4 DMASizeBytes() { return dmasizekb*1024; } … … 114 131 inline uint_4 PatternSize() { return ((PaqSize-(BRHDRSIZE+BRTRLSIZE))/4); } 115 132 116 // Liste des machines cibles pour transfert sur ethernet 117 inline void SetEthTargets(vector<string>& targs) { eths_targets=targs; return; } 118 inline vector<string>& GetEthTargets() { return eths_targets; } 133 inline vector< vector<string> >& GetEthTargets() { return eths_targets; } 119 134 // Nombre de liens ethernet comme source de donnees (paquets) 120 135 inline int NbEthLinks() { return ethr_nlink; } … … 130 145 bool fgsinglechannel; // true -> un seul canal par fibre (par defaut=2 canaux/fibres) 131 146 132 string FiberListS ; // String_liste des fibres a utiliser 1,3,4 par exemple 133 vector<int> FiberNum; // liste des fibres a utiliser {1,3,4} par exemple 134 string FiberIdsS ; // String_liste des numeros 'absolu' des fibres 12,13,14,15 par exemple 135 vector<int> FiberIds; // liste des numero d'identification 'absolu' des fibres {12,13,14,15} par ex. 147 string FiberListS ; // String_liste des numeros de fibres a utiliser 1,3,4 par exemple 148 vector<int> fiberNum_; // liste des numeros fibres a utiliser {1,3,4} par exemple 136 149 137 150 string OutPathName; // directory de base … … 170 183 // Cote Send DMA -> Ethernet 171 184 bool pci2eth_fgdirect; // true -> direct transfer DMA to Ethernet 172 vector< string > eths_targets; // Liste des machines cibles pour les transferts DMA -> ethernet 185 vector< vector<string> > eths_targets; // Liste des machines cibles pour les transferts DMA -> ethernet pour chaque fibre 186 vector<string> eths_stargs; // cibles communes pour toutes les fibres 187 map< int, vector<string> > eths_fibtargs; // Cibles specifiees pour les differentes fibres ds les datacards 173 188 // Cote reception 174 int ethr_nlink; // Nombre total de source d'envoi (= nb total de fibre de fibre)189 int ethr_nlink; // Nombre total de source d'envoi (= nb total de fibres = nb total liens ethernet) 175 190 bool ethr_forcesamefc_; // true -> on force receptions de paquets avec SAME FrameCounter sur tous les liens 176 191 uint_4 ethr_sfc_maxdpc_; // valeur maximum de difference tolere entre compteurs de paquets de differentes fibres … … 241 256 inline bool GetFileDevNull() { return param_->fgnulldev4fits; }; 242 257 243 // Nombre de fibres 258 // Nombre de fibres pour l'acquisition 244 259 inline int NFibers() { return param_->NbFibers(); } 245 260 inline int NbFibers() { return param_->NbFibers(); } 261 // Numeros des fibres pour l'acquisition 262 inline int FiberNum(size_t fib) { return param_->FiberNum(fib); } 263 // Identificateurs des fibres 264 inline int FiberId(size_t fib) { return config_->FiberId( param_->FiberNum(fib) ); } 246 265 247 266 // Taille des operations DMA (en octets) … … 273 292 inline string OutputDirectory() { return (config_->BaseDirectory()+param_->OutPathName); } 274 293 string OutputDirectoryFib(int fib); 294 // repertoire temporaire 295 inline const string& TmpDirectory() const { return config_->TmpDirectory(); } 275 296 276 297 protected:
Note:
See TracChangeset
for help on using the changeset viewer.