/[PAMELA software]/PamelaLevel2/src/PamLevel2.cpp
ViewVC logotype

Diff of /PamelaLevel2/src/PamLevel2.cpp

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

revision 1.68 by pam-fi, Fri Dec 5 08:37:32 2008 UTC revision 1.71 by mocchiut, Thu Dec 11 10:41:38 2008 UTC
# Line 308  PamTrack::PamTrack(TrkTrack* t, CaloTrkV Line 308  PamTrack::PamTrack(TrkTrack* t, CaloTrkV
308      if(t)trk_track  = t;      if(t)trk_track  = t;
309      if(c)calo_track = c;      if(c)calo_track = c;
310      if(o)tof_track  = o;      if(o)tof_track  = o;
311      if(r)orb_track  = r;      if(r) orb_track  = r;
312      candeleteobj = 0;  
313       candeleteobj = 0;
314    
315  };  };
316  PamTrack::PamTrack(const PamTrack& track){  PamTrack::PamTrack(const PamTrack& track){
# Line 403  PamLevel2::PamLevel2(TString ddir,TStrin Line 404  PamLevel2::PamLevel2(TString ddir,TStrin
404      GetRunTree(listf);      GetRunTree(listf);
405  };  };
406    
407    PamLevel2::PamLevel2(TString ddir,TList *list,TString detlist){
408        Initialize();
409        GetPamTree(list,detlist);
410        GetRunTree(list);
411    };
412  /**  /**
413   * Constructor   * Constructor
414   * @param ddir Name of directory where level2 files are stored.   * @param ddir Name of directory where level2 files are stored.
# Line 720  void PamLevel2::Reset(){ Line 726  void PamLevel2::Reset(){
726      //      //
727  };  };
728    
729  Bool_t PamLevel2::IsGood(){  Bool_t PamLevel2::IsGood(Bool_t strict){
730      Bool_t goodev=true;    Bool_t goodev=true;
731      //
732      if(calo2_obj && !calo2_obj->IsGood(strict) ) goodev = false;
733      //
734      if ( strict ){
735      if(trk2_obj && trk2_obj->UnpackError() != 0 ) goodev = false;      if(trk2_obj && trk2_obj->UnpackError() != 0 ) goodev = false;
     if(calo2_obj && calo2_obj->good != 1) goodev = false;  
736      if(tof_obj && tof_obj->unpackError != 0) goodev = false;        if(tof_obj && tof_obj->unpackError != 0) goodev = false;  
737      if(trig_obj && trig_obj->unpackError != 0) goodev = false;      if(trig_obj && trig_obj->unpackError != 0) goodev = false;
738      if(s4_obj && s4_obj->unpackError != 0) goodev = false;        if(s4_obj && s4_obj->unpackError != 0) goodev = false;  
739      if(nd_obj && nd_obj->unpackError != 0) goodev = false;        if(nd_obj && nd_obj->unpackError != 0) goodev = false;  
740      if(ac_obj && ac_obj->unpackError != 255) goodev = false;        if(ac_obj && (ac_obj->unpackError != 0 || ((ac_obj->status[0]>>3)&1) || ((ac_obj->status[0]>>3)&1)) ) goodev = false;      
741      //  if(orb_obj)        //  if(orb_obj)  
742      return goodev;    } else {
743        if(nd_obj && nd_obj->unpackError != 0) goodev = false;  
744        if(ac_obj && (ac_obj->unpackError != 0 || ((ac_obj->status[0]>>3)&1) || ((ac_obj->status[0]>>3)&1)) ) goodev = false;      
745      };
746      return(goodev);
747  };  };
748    
749  //--------------------------------------  //--------------------------------------
# Line 796  void *PamLevel2::GetPointerTo(const char Line 809  void *PamLevel2::GetPointerTo(const char
809          if(!ac_obj)    ac_obj    = new AcLevel2();          if(!ac_obj)    ac_obj    = new AcLevel2();
810          return &ac_obj;          return &ac_obj;
811      };      };
812      if(!objname.CompareTo("OrbitalInfo")){      if(!objname.CompareTo("OrbitalInfo"))  {
813          if(!orb_obj)   orb_obj   = new OrbitalInfo();          if(!orb_obj){
814                orb_obj   = new OrbitalInfo();
815                orb_obj->Set();
816            }
817          return &orb_obj;          return &orb_obj;
818      };      };
819    //     if(!objname.CompareTo("OrbitalInfo")){
820    //      if(!orb_obj)   orb_obj   = new OrbitalInfo();
821    //      return &orb_obj;
822    //     };
823      if(!objname.CompareTo("GPamela")){      if(!objname.CompareTo("GPamela")){
824          if(!gp_obj)   gp_obj   = new GPamela();          if(!gp_obj)   gp_obj   = new GPamela();
825          return &gp_obj;          return &gp_obj;
# Line 888  OrbitalInfoTrkVar *PamLevel2::GetOrbital Line 908  OrbitalInfoTrkVar *PamLevel2::GetOrbital
908                    
909      if( !orb_obj )return 0;      if( !orb_obj )return 0;
910    
911    
912      if( orb_obj->OrbitalInfo::ntrk()==0 ){      if( orb_obj->OrbitalInfo::ntrk()==0 ){
913          cout << "PamLevel2::GetOrbitalInfoStoredTrack(int) : requested tracker SeqNo "<< seqno <<" but no OrbitalInfo tracks are stored"<<endl;  //       // TRICK BEGIN
914          return NULL;  //       OrbitalInfoTrkVar  *r = new OrbitalInfoTrkVar(); // TEMPORARY TRICK
915    //       Int_t nn = 0;
916    //       TClonesArray &tor = *orb_obj->OrbitalInfoTrk;
917    //       for(Int_t nt=0; nt < tof_obj->ToFLevel2::ntrk(); nt++){  
918    //      //
919    //      ToFTrkVar *ptt = tof_obj->ToFLevel2::GetToFTrkVar(nt);
920    //      if ( ptt->trkseqno != -1  ){
921    //        //
922    //        r->trkseqno = ptt->trkseqno;
923    //        //
924    //        r->Eij = 0;  
925    //        //
926    //        r->Sij = 0;
927    //        //        
928    //        r->pitch = -1000.;
929    //        //
930    //        r->cutoff = -1000.;
931    //        //
932    //        new(tor[nn]) OrbitalInfoTrkVar(*r);
933    //        nn++;
934    //        //
935    //        r->Clear();
936    //        //
937    //      };
938    //       };
939    //       delete r;
940    //       OrbitalInfoTrkVar *c = 0;
941    //       c = orb_obj->OrbitalInfo::GetOrbitalInfoTrkVar(0);
942    //       return c;
943    //       //TRICK END
944          cout << "PamLevel2::GetOrbitalInfoStoredTrack(int) : requested tracker SeqNo "<< seqno <<" but no OrbitalInfo tracks are stored"<<endl;
945          return NULL;
946      };      };
947            
948      OrbitalInfoTrkVar *c = 0;      OrbitalInfoTrkVar *c = 0;

Legend:
Removed from v.1.68  
changed lines
  Added in v.1.71

  ViewVC Help
Powered by ViewVC 1.1.23