Fork me on GitHub

Changeset 400 in svn for trunk/Utilities


Ignore:
Timestamp:
May 20, 2009, 10:33:21 AM (16 years ago)
Author:
Xavier Rouby
Message:

update to Hector_1_5_2

Location:
trunk/Utilities/Hector
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Utilities/Hector/CREDITS

    r3 r400  
    1 ---- Hector the simulator ----
    2    A fast simulator of particles through generic beamlines.
    3    J. de Favereau, X. Rouby ~~~ hector_devel@cp3.phys.ucl.ac.be
     1  /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
     2 *                                                         *
     3*                   --<--<--  A fast simulator --<--<--     *
     4*                 / --<--<--     of particle   --<--<--     *
     5*  ----HECTOR----<                                          *
     6*                 \ -->-->-- transport through -->-->--     *
     7*                   -->-->-- generic beamlines -->-->--     *
     8*                                                           *
     9* JINST 2:P09005 (2007)                                     *
     10*      X Rouby, J de Favereau, K Piotrzkowski (CP3)         *
     11*       http://www.fynu.ucl.ac.be/hector.html               *
     12*                                                           *
     13* Center for Cosmology, Particle Physics and Phenomenology  *
     14*              Universite catholique de Louvain             *
     15*                 Louvain-la-Neuve, Belgium                 *
     16 *                                                         *
     17   * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    418
    5         http://www.fynu.ucl.ac.be/hector.html
     19   J. de Favereau, X. Rouby ~~~ cp3_hector_devel@listes.uclouvain.be
     20        jerome.defavereau@uclouvain.be
     21        xavier.rouby@cern.ch
    622
    7    Centre de Physique des Particules et de Phénoménologie (CP3)
    8    Université Catholique de Louvain (UCL)
    9 
    10    HECTOR, a fast simulator for the transport of particles in beamlines,
    11    JINST 2 P09005, X. Rouby, J. de Favereau, K. Piotrzkowski
    12 
    13    arXiv:0707.1198v2 [physics.acc-ph] (CP3-07-13)
     23   (C) All rights reserved
  • trunk/Utilities/Hector/VERSION

    r281 r400  
    1 _1_5_2pre
     1_1_5_2
  • trunk/Utilities/Hector/include/H_BeamParticle.h

    r388 r400  
    132132                /// Returns the particle path in the beamline
    133133                TGraph * getPath(const int , const int ) const;
    134                 void getPath(const int , const string& ) const;
     134                void getPath(const int x_or_y, const string& filename) const;
    135135                /// Computes the position of the particle at the end of each element of the beam.
    136136                void computePath(const H_AbstractBeamLine * beam, const bool NonLinear=true);
  • trunk/Utilities/Hector/include/H_RecRPObject.h

    r281 r400  
    2424
    2525#include "TF1.h"
     26#include <cmath>
    2627
    2728#include "H_BeamLine.h"
     
    3435                H_RecRPObject();
    3536                H_RecRPObject(const float, const float, const H_AbstractBeamLine* );
     37                H_RecRPObject(const float, const float, const H_AbstractBeamLine& ); // old-fashioned -- to be deleted
    3638                H_RecRPObject(const H_RecRPObject&);
    3739                H_RecRPObject& operator=(const H_RecRPObject&);
     
    7981
    8082#endif
     83
  • trunk/Utilities/Hector/src/H_BeamParticle.cc

    r388 r400  
    461461}
    462462
    463 void H_BeamParticle::getPath(const int x_or_y, const string& filename) const {
     463void H_BeamParticle::getPath(const int x_or_y, const string& filename) const{
     464        /// @param x_or_y = 0(1) draws the x(y) component;
    464465        ofstream outfile(filename.c_str());
    465         int index;
     466
     467        int index;
    466468        if(x_or_y==0) {index = INDEX_X;} else {index = INDEX_Y;}
    467469
    468470        vector<TVectorD>::const_iterator position_i;
    469471        for(position_i = positions.begin(); position_i < positions.end(); position_i++) {
    470                 outfile << (*position_i)[INDEX_S] <<"\t\t" << (*position_i)[index] << endl;
     472                outfile << (*position_i)[index] << "\t" << (*position_i)[INDEX_S] << endl;
    471473        }
    472474        outfile.close();
    473475}
     476
    474477
    475478// should be removed later, to keep only computePath(const H_AbstractBeamLine & , const bool)
  • trunk/Utilities/Hector/src/H_RecRPObject.cc

    r281 r400  
    6464        {if(ss1==ss2) cout<<"<H_RecRPObject> WARNING : detectors are on same position"<<endl;
    6565}
     66
     67
     68H_RecRPObject::H_RecRPObject(const float ss1, const float ss2, const H_AbstractBeamLine& beam) : emin(0), emax(-1), x1(0), x2(0), y1(0), y2(0), s1(ss1), s2(ss2),
     69                                txip(NOT_YET_COMPUTED), tyip(NOT_YET_COMPUTED), energy(NOT_YET_COMPUTED), q2(NOT_YET_COMPUTED), pt(NOT_YET_COMPUTED),
     70                                thebeam(beam.clone()),
     71                                f_1(new TF1("f_1","[0] + [1]*x + [2]*x*x ",emin,emax)),
     72                                f_2(new TF1("f_2","[0] + [1]*x + [2]*x*x ",emin,emax)),
     73                                g_1(new TF1("g_1","[0] + [1]*x + [2]*x*x ",emin,emax)),
     74                                g_2(new TF1("g_2","[0] + [1]*x + [2]*x*x ",emin,emax)),
     75                                d_1(new TF1("d_1","[0] + [1]*x + [2]*x*x ",emin,emax)),
     76                                d_2(new TF1("d_2","[0] + [1]*x + [2]*x*x ",emin,emax)),
     77                                k_1(new TF1("k_1","[0] + [1]*x + [2]*x*x ",emin,emax)),
     78                                k_2(new TF1("k_2","[0] + [1]*x + [2]*x*x ",emin,emax)),
     79                                l_1(new TF1("l_1","[0] + [1]*x + [2]*x*x ",emin,emax)),
     80                                l_2(new TF1("l_2","[0] + [1]*x + [2]*x*x ",emin,emax))
     81        {if(ss1==ss2) cout<<"<H_RecRPObject> WARNING : detectors are on same position"<<endl;
     82}
     83
    6684
    6785H_RecRPObject::H_RecRPObject(const H_RecRPObject& r):
     
    351369   return os;
    352370}
     371
Note: See TracChangeset for help on using the changeset viewer.