763 char FlagPart[][10]={
"",
"mu",
"charm",
"e",
"e-pair"};
764 char FlagCS[][10] ={
"",
"cs"};
768 TGFileInfo *fi=
new TGFileInfo;
769 fi->fIniDir = StrDup(
".");
770 const char *filetypes[] = {
"Feedback File",
"*.feedback",
"All files",
"*",0,0};
771 fi->fFileTypes=filetypes;
772 new TGFileDialog(gClient->GetRoot(), gEve?gEve->GetMainWindow():0, kFDOpen, fi);
794 while(fgets(buf,
sizeof(buf),fp)){
796 printf(
"%s", line.Data());
799 if(line.Contains(
"track comment")){
800 int istart = line.Index(
"\"");
801 int iend = line.Index(
"\"",1,istart+1, TString::kExact);
802 if(istart!=kNPOS && iend!=kNPOS && istart+1!=iend){
804 strncpy(buf, line.Data()+istart+1, iend-istart-1);
805 buf[iend-istart-1]=
'\0';
810 if(line.Contains(
"Area information :")){
813 sscanf( line.Data()+line.Index(
":")+1,
"%s", asetname);
814 printf(
"Area infor %s\n", asetname);
817 if(line.Contains(Form(
"area : %s", asetname))){
820 sscanf(line.Data() + line.Index(Form(
"area : %s", asetname)) + strlen(Form(
"area : %s", asetname)),
827 line.ReplaceAll(
"\t",
" ");
828 int iposcmt = line.Index(
"//");
829 if(iposcmt!=kNPOS) line.Remove(iposcmt, line.Length()-iposcmt);
832 TObjArray *tokens = line.Tokenize(
" ");
833 int ntokens = tokens->GetEntries();
837 if(ntokens==0)
continue;
839 else if( ntokens == 10 ){
841 float x,y,z;
int id,isprimary,istau, ischarm;
842 sscanf(line.Data(),
"%d %f %f %f %d %d %d", &
id, &x, &y, &z, &isprimary, &ischarm, &istau);
847 printf(
"Vertex %d %f %f %f\n",v->
ID(), v->
X(), v->
Y(), v->
Z());
850 else if( ntokens == 27 ){
852 float x,y,z,ax,ay, ip_upvtx, ip_downvtx,
p,pmin,pmax;
853 int id_track, id_upvtx, id_downvtx, manual, particle_id, scanback, darkness;
854 int OutOfBrick, LastPlate, nseg, iplRmax1, iplRmax2, result;
855 float RmaxT, RmaxL, rmst, rmsl;
858 sscanf(line.Data(),
"%d %d %d %f %f %f %f %f %f%n", &id_track, &id_upvtx, &id_downvtx, &x, &y, &z, &ax, &ay, &ip_upvtx, &nn);
859 sscanf(line.Data()+(n=nn),
"%f %f %f %f %d %d %d %d %d%n", &ip_downvtx, &
p,&pmin,&pmax, &manual, &particle_id, &scanback, &darkness, &OutOfBrick, &nn);
860 sscanf(line.Data()+(n+=nn),
"%d %d %f %f %f %f %d %d %d", &LastPlate, &nseg, &RmaxT, &RmaxL, &rmst, &rmsl, &iplRmax1, &iplRmax2, &result);
864 t->Set(id_track, x, y, ax, ay, 0, 0);
866 t->SetTrack(id_track);
870 if(0<=particle_id && particle_id<=4) {
if(tx->
N()>1)tx->
AddText(
", "); tx->
AddText(FlagPart[particle_id]);}
871 if(scanback==1) {
if(tx->
N()>1)tx->
AddText(
", "); tx->
AddText(FlagCS[scanback]);}
882 for(
int i=0; i<pvr->
Nvtx(); i++){
884 if(id_upvtx==v->
ID()||id_downvtx==v->
ID()){
888 vta->
SetImp( id_upvtx==v->
ID()? ip_upvtx : ip_downvtx);
894 else if( ntokens == 9 ){
896 int ipl,
type, irec, ph;
898 sscanf(line.Data(),
"%d %f %f %f %f %f %d %d %d", &ipl, &x, &y, &z, &ax, &ay, &
type, &irec, &ph);
914 t->AddSegment( s_in_pattern);
918 seg.PropagateTo(seg.Z()+1000);
919 tx->
SetXYZ(seg.X(),seg.Y(),seg.Z());
930 printf(
"\nEdbPVRec summary. %d vertices, %d tracks.\n", pvr->
Nvtx(), pvr->
Ntracks());
935 if(pvr==
NULL)
return;
947 if(
set)
set->SetAreaSet(aset);
TTree * t
Definition: check_shower.C:4
Definition: EdbEDASets.h:55
void AddArea(int ipl, double xmin, double xmax, double ymin, double ymax, double z)
Definition: EdbEDASets.h:110
void SetDraw(bool draw)
Definition: EdbEDASets.h:106
void SetPVR(EdbPVRec *pvr)
Definition: EdbEDA.h:224
void SetReference(void *ref)
Definition: EdbEDA.h:43
void SetXYZ(float x, float y, float z)
Definition: EdbEDA.h:76
int N()
Definition: EdbEDA.h:79
void AddText(TString str)
Definition: EdbEDA.h:78
void SetText(TString str)
Definition: EdbEDA.h:77
void AddTracksPVR(EdbPVRec *pvr)
Definition: EdbEDATrackSet.h:312
void AddVertices(TObjArray *vertices)
Definition: EdbEDASets.h:189
void UpdateScene()
Definition: EdbEDA.h:681
void Redraw()
Definition: EdbEDA.h:680
void AddDrawObject(EdbEDAObject *o)
Definition: EdbEDA.h:582
void Reset()
Definition: EdbEDA.h:683
EdbEDAVertexSet * GetVertexSet()
Definition: EdbEDA.h:660
EdbVertex * GetVertex(Int_t &i)
Definition: EdbPVRec.h:256
EdbTrackP * GetTrack(int i) const
Definition: EdbPVRec.h:241
TObjArray * eVTX
Definition: EdbPVRec.h:162
Int_t Ntracks() const
Definition: EdbPVRec.h:203
void AddVertex(EdbVertex *vtx)
Definition: EdbPVRec.h:251
Int_t Nvtx() const
Definition: EdbPVRec.h:255
EdbSegP * AddSegment(EdbSegP &s)
Definition: EdbPVRec.cxx:2921
void AddTrack(EdbTrackP *track)
Definition: EdbPVRec.h:246
int ID() const
Definition: EdbPattern.h:328
void Print() const
Definition: EdbPattern.cxx:1853
void SetPID(int pid)
Definition: EdbSegP.h:126
void SetSide(int side=0)
Definition: EdbSegP.h:136
void SetTrack(int trid)
Definition: EdbSegP.h:128
void SetZ(float z)
Definition: EdbSegP.h:122
void SetW(float w)
Definition: EdbSegP.h:129
Definition: EdbPattern.h:118
void SetCounters()
Definition: EdbPattern.h:164
Definition: EdbVertex.h:25
void SetImp(float imp)
Definition: EdbVertex.h:56
void SetZpos(int zpos)
Definition: EdbVertex.h:54
void SetFlag(int flag)
Definition: EdbVertex.h:55
Definition: EdbVertex.h:68
Int_t ID() const
Definition: EdbVertex.h:126
void AddVTA(EdbVTA *vta)
Definition: EdbVertex.cxx:377
Float_t X() const
Definition: EdbVertex.h:130
void SetID(int ID=0)
Definition: EdbVertex.h:156
void SetFlag(int flag=0)
Definition: EdbVertex.h:158
void SetXYZ(float x, float y, float z)
Definition: EdbVertex.h:157
Float_t Z() const
Definition: EdbVertex.h:132
Float_t Y() const
Definition: EdbVertex.h:131
float xmin
Definition: emthickness.cpp:61
float ymin
Definition: emthickness.cpp:63
float xmax
Definition: emthickness.cpp:61
float ymax
Definition: emthickness.cpp:63
void ErrorMessage(const char *title, const char *message)
Definition: EdbEDAUtil.C:479
UInt_t id
Definition: tlg2pattern.C:118
Int_t type
Definition: testBGReduction_By_ANN.C:15