Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
951 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  transformer une list en TVectorT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

transformer une list en TVectorT

n°2333783
nuffette
Posté le 21-05-2019 à 17:14:22  profilanswer
 

Code :
  1. int main(int argc, char* argv[]){
  2. TApplication app("app",&argc,argv);
  3. TFile *f = new TFile("ggdATLAS_Appendix_06.root" );
  4. TTree *t2 = (TTree*)f->Get("t2" );
  5. t2->Print();
  6. cout<<"probleme1"<<endl;
  7. int iprov,ntrack;
  8. double e[3],px[3],py[3],pz[3];
  9. double x3;
  10. double pt[3],y[3];
  11. double x1,x2;
  12. float pdf_weight[1000];
  13. float weight;
  14.   // we get the value stored into the header for the normalisation
  15. TList *list = t2->GetUserInfo();
  16. cout<<"probleme2"<<endl;
  17. list->Print();
  18. TVectorT<float> &v = *(list->At(0));
  19. cout<<"probleme3"<<endl;
  20. cout<<"probleme3"<<endl;
  21. float& nb_evt = v[0];
  22. cout<<"probleme3"<<endl;
  23. float& xsec = v[1];
  24. cout<<"probleme3"<<endl;
  25. float& sqrt_s = v[2];
  26. cout<<"PROBLEME"<<endl;
  27. float norma = xsec/nb_evt;
  28. cout<<"probleme3"<<endl;


 
Quand je compile mon programme, une erreur survient (error: invalid initialization of reference of type ‘TVectorT<float>&’ from expression of type ‘TObject’
 TVectorT<float> &v = *(list->At(0)); )  , elle vient de la ligne TVectorT<float> &v =*(list->At(0)); et je ne sais pas comment la modifier pour que le vector v se construise.  
Quelqu'un a une idée ?

mood
Publicité
Posté le 21-05-2019 à 17:14:22  profilanswer
 

n°2336137
ptitchep
Posté le 01-07-2019 à 14:31:09  profilanswer
 

Bonjour,
 
Quel est le type de *(list->At(0))?
 
Si je suis tombé sur la bonne doc, ce qui n'est pas sûr: tu ne donnes pas
beaucoup d'info, je pense qu'il faut faire quelque chose du genre:

Code :
  1. TVectorT<float> v(UneTaille);
  2. v[0] = *(list->At(0));


Mais je ne connais pas du tout la bibliothèque d'où sortent tes listes et
vecteurs donc c'est peut-être n'importe quoi. Et puis il faut être sûr que
"list->At(0)" retourne bien un "float*".
 
Sans info supplémentaires sur la bibliothèque concernée le but de ce code et ses
entrées/sorties ça va être compliqué de répondre.


---------------
deluser --remove-home ptitchep

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  transformer une list en TVectorT

 

Sujets relatifs
Transformer Formule en Macrobat sur une list de fichiers csv avec plusieurs valeurs
SQLSERVER : Transformer listedans colonne en lignestransformer un fichier texte en XML
créer des listes python en boucle list(n)Transformer une chaine en nombre complexe
Comment ajouter des éléments une list STL?[JavaScript] List deroulante liée ave un remplissage automatique
Script Dos à transformer en SHELLComment transformer un projet C++ .exe en .DLL pour exporter des fonct
Plus de sujets relatifs à : transformer une list en TVectorT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR