/[PAMELA software]/DarthVader/TrackerLevel2/src/TrkLevel2.cpp
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/src/TrkLevel2.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by pam-fi, Fri Jun 30 09:48:15 2006 UTC revision 1.6 by pam-fi, Tue Jul 11 15:32:27 2006 UTC
# Line 240  TrkLevel2::TrkLevel2(){ Line 240  TrkLevel2::TrkLevel2(){
240      Track    = new TClonesArray("TrkTrack");      Track    = new TClonesArray("TrkTrack");
241      SingletX = new TClonesArray("TrkSinglet");      SingletX = new TClonesArray("TrkSinglet");
242      SingletY = new TClonesArray("TrkSinglet");      SingletY = new TClonesArray("TrkSinglet");
243  //    Track    = 0;  
244  //    Singlet = 0;  //      PhysicalTrack = new TClonesArray("TrkTrack");
245  //    SingletY = 0;          //sostituire con TRefArray... appena ho capito come si usa
246  }  }
247  //--------------------------------------  //--------------------------------------
248  //  //
# Line 365  void TrkLevel2::Clear(){ Line 365  void TrkLevel2::Clear(){
365  TClonesArray *TrkLevel2::GetTracks(){  TClonesArray *TrkLevel2::GetTracks(){
366      TClonesArray *sorted = GetTracks_NFitSorted();      TClonesArray *sorted = GetTracks_NFitSorted();
367      return sorted;      return sorted;
368            
369            // fare di meglio...
370    /*      PhysicalTrack->Clear();
371            if(ntrk() > 0) GetTracks_NFitSorted();
372            return PhysicalTrack;*/
373  };  };
374    
375  TClonesArray *TrkLevel2::GetTracks_Chi2Sorted(){  /*TClonesArray *TrkLevel2::GetTracks_Chi2Sorted(){
376    
377      TClonesArray *sorted = new TClonesArray("TrkTrack");      TClonesArray *sorted = new TClonesArray("TrkTrack");
378      TClonesArray &t = *Track;      TClonesArray &t = *Track;
# Line 395  TClonesArray *TrkLevel2::GetTracks_Chi2S Line 400  TClonesArray *TrkLevel2::GetTracks_Chi2S
400          indo++;          indo++;
401      }      }
402      return sorted;      return sorted;
403  }  }*/
404  TClonesArray *TrkLevel2::GetTracks_NFitSorted(){  TClonesArray *TrkLevel2::GetTracks_NFitSorted(){
405    
406      TClonesArray *sorted = new TClonesArray("TrkTrack");          TClonesArray *sorted = new TClonesArray("TrkTrack");    
407      TClonesArray &t = *Track;      TClonesArray &t = *Track;
408      TClonesArray &ts = *sorted;          TClonesArray &ts = *sorted;
409      int N=this->ntrk();  //    TClonesArray &ts = *PhysicalTrack;
410            int N=this->ntrk();
411      vector<int> m(N); for(int i=0; i<N; i++)m[i]=1;      vector<int> m(N); for(int i=0; i<N; i++)m[i]=1;
412    
413      int indo=0;      int indo=0;
# Line 441  TClonesArray *TrkLevel2::GetTracks_NFitS Line 447  TClonesArray *TrkLevel2::GetTracks_NFitS
447          indo++;          indo++;
448      }      }
449      return sorted;      return sorted;
450    //    return PhysicalTrack;
451  }  }
452  //--------------------------------------  //--------------------------------------
453  //  //
# Line 467  TrkTrack *TrkLevel2::GetStoredTrack(int Line 474  TrkTrack *TrkLevel2::GetStoredTrack(int
474  //  //
475  //--------------------------------------  //--------------------------------------
476  /**  /**
477     * Retrieves the is-th stored X singlet.
478     * @param it Singlet number, ranging from 0 to nclsx().
479     */
480    TrkSinglet *TrkLevel2::GetSingletX(int is){
481    
482            if(is >= this->nclsx()){
483                    cout << "** TrkLevel2 ** Singlet "<< is << "doen not exits! " << endl;
484                    cout << "                Stored x-singlets nclsx() = "<< this->nclsx() << endl;
485                    return 0;
486            }
487            TClonesArray &t = *(SingletX);
488            TrkSinglet *singlet = (TrkSinglet*)t[is];
489            return singlet;
490    }
491    //--------------------------------------
492    //
493    //
494    //--------------------------------------
495    /**
496     * Retrieves the is-th stored Y singlet.
497     * @param it Singlet number, ranging from 0 to nclsx().
498     */
499    TrkSinglet *TrkLevel2::GetSingletY(int is){
500    
501            if(is >= this->nclsy()){
502                    cout << "** TrkLevel2 ** Singlet "<< is << "doen not exits! " << endl;
503                    cout << "                Stored y-singlets nclsy() = "<< this->nclsx() << endl;
504                    return 0;
505            }
506            TClonesArray &t = *(SingletY);
507            TrkSinglet *singlet = (TrkSinglet*)t[is];
508            return singlet;
509    }
510    //--------------------------------------
511    //
512    //
513    //--------------------------------------
514    /**
515   * Retrieves the it-th "physical" track, sorted by the method GetNTracks().   * Retrieves the it-th "physical" track, sorted by the method GetNTracks().
516   * @param it Track number, ranging from 0 to GetNTracks().   * @param it Track number, ranging from 0 to GetNTracks().
517   */   */
# Line 481  TrkTrack *TrkLevel2::GetTrack(int it){ Line 526  TrkTrack *TrkLevel2::GetTrack(int it){
526          GetTracks()->Delete();////TEMPORANEO          GetTracks()->Delete();////TEMPORANEO
527      return track;      return track;
528  }  }
529    /**
530     * Give the number of "physical" tracks, sorted by the method GetTracks().
531     */
532  Int_t TrkLevel2::GetNTracks(){  Int_t TrkLevel2::GetNTracks(){
533          Int_t ntot=0;          Int_t ntot=0;
534          ntot = GetTracks()->GetEntries();          ntot = GetTracks()->GetEntries();
# Line 508  TrkTrack *TrkLevel2::GetTrackImage(int i Line 556  TrkTrack *TrkLevel2::GetTrackImage(int i
556          return 0;          return 0;
557      }      }
558      TrkTrack *image = (TrkTrack*)(*Track)[track->image];      TrkTrack *image = (TrkTrack*)(*Track)[track->image];
559            GetTracks()->Delete(); ////TEMPORANEO
560      return image;      return image;
561            
562  }  }
# Line 527  void TrkLevel2::LoadField(TString s){ Line 576  void TrkLevel2::LoadField(TString s){
576  //  //
577  //--------------------------------------  //--------------------------------------
578  /**  /**
579     * Get tracker-plane (mechanical) z-coordinate
580     * @param plane_id plane index (1=TOP,2,3,4,5,6=BOTTOM)
581     */
582    Float_t TrkLevel2::GetZTrk(Int_t plane_id){
583            switch(plane_id){
584                    case 1: return ZTRK1;
585                    case 2: return ZTRK2;
586                    case 3: return ZTRK3;
587                    case 4: return ZTRK4;
588                    case 5: return ZTRK5;
589                    case 6: return ZTRK6;
590                    default: return 0.;
591            };
592    };
593    //--------------------------------------
594    //
595    //
596    //--------------------------------------
597    /**
598   * Trajectory default constructor.   * Trajectory default constructor.
599   * (By default is created with z-coordinates inside the tracking volume)   * (By default is created with z-coordinates inside the tracking volume)
600    */    */
# Line 538  Trajectory::Trajectory(){ Line 606  Trajectory::Trajectory(){
606      thx = new float[npoint];      thx = new float[npoint];
607      thy = new float[npoint];      thy = new float[npoint];
608      tl = new float[npoint];      tl = new float[npoint];
609      float dz = ((ZTRKUP)-(ZTRKDW))/(npoint-1);      float dz = ((ZTRK1)-(ZTRK6))/(npoint-1);
610      for(int i=0; i<npoint; i++){      for(int i=0; i<npoint; i++){
611          x[i] = 0;          x[i] = 0;
612          y[i] = 0;          y[i] = 0;
613          z[i] = (ZTRKUP) - i*dz;          z[i] = (ZTRK1) - i*dz;
614          thx[i] = 0;          thx[i] = 0;
615          thy[i] = 0;          thy[i] = 0;
616          tl[i] = 0;          tl[i] = 0;
# Line 569  Trajectory::Trajectory(int n){ Line 637  Trajectory::Trajectory(int n){
637      thx = new float[npoint];      thx = new float[npoint];
638      thy = new float[npoint];      thy = new float[npoint];
639      tl = new float[npoint];      tl = new float[npoint];
640      float dz = ((ZTRKUP)-(ZTRKDW))/(npoint-1);      float dz = ((ZTRK1)-(ZTRK6))/(npoint-1);
641      for(int i=0; i<npoint; i++){      for(int i=0; i<npoint; i++){
642          x[i] = 0;          x[i] = 0;
643          y[i] = 0;          y[i] = 0;
644          z[i] = (ZTRKUP) - i*dz;          z[i] = (ZTRK1) - i*dz;
645          thx[i] = 0;          thx[i] = 0;
646          thy[i] = 0;          thy[i] = 0;
647          tl[i] = 0;          tl[i] = 0;
# Line 647  float Trajectory::GetLength(int ifirst, Line 715  float Trajectory::GetLength(int ifirst,
715      return l;      return l;
716    
717  }  }
718    
719  ClassImp(TrkLevel2);  ClassImp(TrkLevel2);
720  ClassImp(TrkSinglet);  ClassImp(TrkSinglet);
721  ClassImp(TrkTrack);  ClassImp(TrkTrack);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.23