FEDRA emulsion software from the OPERA Collaboration
EdbEDA Class Reference

#include <EdbEDA.h>

Inheritance diagram for EdbEDA:
Collaboration diagram for EdbEDA:

Public Member Functions

void AddDrawObject (EdbEDAObject *o)
 
EdbEDATrackSetAddTrackSet (char *name)
 
void AddVertex (EdbVertex *v)
 
EdbTrackPCheckScanback (EdbTrackP *t)
 
 ClassDef (EdbEDA, 0)
 
void ClearDrawObjects ()
 
void ClearVertices ()
 
EdbEDATrackSetCreateTrackSet (char *name)
 
void Draw (int redraw=kFALSE)
 
void DrawVertices (int redraw=0)
 
 EdbEDA (char *filename=NULL, int datatype=100, TCut rcut="1", bool auto_run=kTRUE)
 
 EdbEDA (EdbDataProc *dproc)
 
 EdbEDA (EdbID IDCalib, char *ProcDirClient=NULL)
 
 EdbEDA (EdbPVRec *pvr, bool autorun=1)
 
 EdbEDA (EdbScanSet *ss, char *ProcDirClient=NULL)
 
TObjArray * GetCurrentTracks (void)
 
EdbEDAObjectGetDrawObject (int i)
 
EdbEDADecaySearchTabGetDSTab ()
 
TEveElement * GetEveElement (TObject *t)
 
EdbEDAExtentionSetGetExtentionSet ()
 
EdbEDAMainTabGetMainTab ()
 
EdbEDAOperationTabGetOperationTab ()
 
EdbEDAPlotTabGetPlotTab ()
 
double GetScaleZ ()
 
EdbTrackPGetTrack (EdbSegP *s)
 
EdbEDATrackSetGetTrackSet (char *name)
 
EdbEDATrackSetGetTrackSet (EdbID &ID)
 
EdbEDATrackSetGetTrackSet (EdbTrackP *t)
 
EdbEDATrackSetGetTrackSet (int i)
 
TObjArray * GetTrackSets ()
 
EdbEDATrackSetTabGetTrackSetTab ()
 
EdbEDAVertexSetGetVertexSet ()
 
EdbEDAVertexTabGetVertexTab ()
 
TObjArray * GetVertices ()
 
void Init (void)
 
bool Japanese ()
 
int NDrawObjects ()
 
int NTrackSets ()
 
void OpenFile (char *filename=NULL, int datatype=100, TCut rcut="1")
 
EdbDataProcPVRec2DataProc (EdbPVRec *pvr)
 
void Redraw ()
 
void RemoveDrawObject (TObject *o)
 
void RemoveSelected ()
 
void RemoveTrack (EdbTrackP *t)
 
void RemoveTrackBase (EdbTrackP *t)
 
void Reset ()
 
void RestorePrevious ()
 
void Run ()
 
EdbScanProcScanProc ()
 
void SetBrick (int ibrick)
 
void SetColorMode (int mode)
 
void SetDrawAreaSet (bool draw)
 
void SetDrawTrackAngle (bool draw)
 
void SetDrawTrackID (bool draw)
 
void SetJapanese (bool b=kTRUE)
 
void SetLayerLength (double layer_length)
 
void SetOnlySelected ()
 
void SetScaleZ (double scale)
 
void StorePrevious ()
 
void UpdateScene ()
 
- Public Member Functions inherited from EdbEDACamera
void Animation ()
 
 EdbEDACamera ()
 
TGLViewer * GetGLViewer ()
 
EdbEDAOverlayGetOverlay ()
 
void SaveAnimation (char *filename=NULL, int n=100, int interval=10)
 
void SavePictures ()
 
void SetAnimationMode ()
 
void SetCamera (int projection=Y)
 
EdbEDAOverlaySetOverlay ()
 
void Snapshot (char *filename=NULL)
 
void StartAnimation ()
 
void StopAnimation ()
 
virtual ~EdbEDACamera ()
 
- Public Member Functions inherited from EdbEDAIO
 EdbEDAIO ()
 
EdbPatternGetPatternIPL (int pid)
 
int IdMuon (char *filename="../cs_info.txt")
 
void OpenTextEditor (char *filename)
 
EdbPatternReadCouples (int ipl, EdbPattern *pat=NULL)
 
EdbPatternReadCouplesPID (int pid, EdbPattern *pat=NULL)
 
void ReadFeedbackFile (char *filename=NULL)
 
EdbVertexReadFeedbackFile2008 (char *filename=NULL)
 
EdbPVRecReadFilteredText (char *filename=NULL)
 
void WriteFeedbackFile (char *filename=NULL)
 
void WriteFeedbackFile2008 (EdbVertex *v=NULL, char *filename=NULL)
 
void WriteFilteredText (char *filename=NULL)
 
virtual ~EdbEDAIO ()
 
- Public Member Functions inherited from EdbEDABrickData
 EdbEDABrickData ()
 
EdbAffine2DGetAffine (int ipl)
 
double GetBeamTX ()
 
double GetBeamTY ()
 
int GetBrick ()
 
EdbDataSetGetDataSet ()
 
int GetDataType ()
 
int GetFirstPlate ()
 
EdbID GetID ()
 
int GetIPL (int PID)
 
int GetIPLZ (float z)
 
int GetLastPlate ()
 
int GetNPL ()
 
int GetPID (int ipl)
 
int GetPlateDown ()
 
int GetPlateUp ()
 
EdbPVRecGetPVR ()
 
EdbScanSetGetScanSet ()
 
double GetZ (int ipl)
 
double GetZPID (int pid)
 
void SetBeamAngle (double tx, double ty)
 
void SetBrick (int ibrick)
 
void SetDataType (int datatype)
 
void SetID (EdbID id)
 
void SetIDSB (EdbID id)
 
void SetIDSF (EdbID id)
 
void SetPVR (EdbPVRec *pvr)
 
void SetScanSet (EdbScanSet *ss)
 
virtual ~EdbEDABrickData ()
 
- Public Member Functions inherited from EdbEDASelection
void Added (TEveElement *el)
 
void Cleared ()
 
void ClearSelected ()
 
void ClearSelectedVertex ()
 
int Disable (int force=kFALSE)
 
 EdbEDASelection ()
 
int Enable (int force=kFALSE)
 
EdbSegPGetSelected (int i)
 
TObjArray * GetSelected (void)
 
TEveElement * GetSelectedElement ()
 
EdbSegPGetSelectedSegment (int i=-1)
 
EdbTrackPGetSelectedTrack (EdbSegP *s)
 
EdbTrackPGetSelectedTrack (int i=-1)
 
TObjArray * GetSelectedTracks (void)
 
EdbVertexGetSelectedVertex (void)
 
EdbTrackPGetTrack (TEveElement *e)
 
void InitSelection (TEveSelection *sel)
 
int NSelected ()
 
int NSelectedTracks ()
 
void Removed (TEveElement *el)
 
void SelectAll ()
 
TObjArray * SetSelected (TObjArray *selected=NULL)
 
void SetSelectedTracks (TObjArray *arr)
 
void SetSelectedVertex (EdbVertex *v)
 
void SetSelection (TObjArray *selected=NULL)
 
virtual ~EdbEDASelection ()
 

Private Attributes

TObjArray * eDrawObjects
 
EdbEDADecaySearchTabeDSTab
 
TEveEventManager * eEvent
 
EdbEDAExtentionSeteExt
 
bool eJapanese
 
EdbEDAMainTabeMainTab
 
EdbEDAOperationTabeOperationTab
 
EdbEDAPlotTabePlotTab
 
double eScaleZ
 
EdbEDASelectioneSel
 
EdbEDATrackSeteSetTracks
 
TObjArray * eTrackSets
 
EdbEDATrackSetTabeTrackSetTab
 
EdbEDAVertexSeteVertexSet
 
EdbEDAVertexTabeVertexTab
 

Additional Inherited Members

- Public Types inherited from EdbEDACamera
enum  { X , Y , Z , B }
 
- Public Types inherited from EdbEDAIO
enum  OutputFileMode { kBern , kOtherLabs }
 
- Public Attributes inherited from EdbEDACamera
TGLViewer * eViewer
 
- Public Attributes inherited from EdbEDAIO
TCut eCutCP
 
int eOutputFileMode
 
- Public Attributes inherited from EdbEDABrickData
EdbDataSeteDataSet
 
int eDataType
 
int eFirstPlate
 
EdbID eID
 
EdbID eIDSB
 
EdbID eIDSF
 
int eLastPlate
 
EdbPVRecePVR
 
EdbScanProceScanProc
 
EdbScanSeteScanSet
 

Constructor & Destructor Documentation

◆ EdbEDA() [1/5]

EdbEDA::EdbEDA ( char *  filename = NULL,
int  datatype = 100,
TCut  rcut = "1",
bool  auto_run = kTRUE 
)
inline

Constructor for EDA
filename : filename for "LinkDef" or "*.set.root(ScanSet)" or "*.root(linked_track.root format)"
datatype : only for "LinkDef". Data type for EdbDataProc::InitVolume(). put -1 for no InitVolume
if datatype= 100 or 1000. linked tracks will be registred to "TS".
rcut : Track selection when read.
auto_run : Run automatically.

504 :
505 TNamed("EDA","Event Display and Analyser"){
512 OpenFile(filename, datatype, rcut);
513 if(auto_run) Run();
514 }
const char filename[256]
Definition: RecDispNU.C:83
void Run()
Definition: EdbEDA.C:1989
void OpenFile(char *filename=NULL, int datatype=100, TCut rcut="1")
Definition: EdbEDA.C:2065

◆ EdbEDA() [2/5]

EdbEDA::EdbEDA ( EdbID  IDCalib,
char *  ProcDirClient = NULL 
)
inline
516 {
517 Init();
518 if(ProcDirClient!=NULL) eScanProc->eProcDirClient=ProcDirClient;
519 eID=IDCalib;
521 }
EdbScanSet * eScanSet
Definition: EdbEDA.h:205
EdbID eID
Definition: EdbEDA.h:201
EdbScanProc * eScanProc
Definition: EdbEDA.h:204
void Init(void)
Definition: EdbEDA.C:1944
TString eProcDirClient
directory path for root data
Definition: EdbScanProc.h:14
EdbScanSet * ReadScanSet(EdbID id)
Definition: EdbScanProc.cxx:1482
#define NULL
Definition: nidaqmx.h:84

◆ EdbEDA() [3/5]

EdbEDA::EdbEDA ( EdbScanSet ss,
char *  ProcDirClient = NULL 
)
inline
523 : TNamed("EDA","Event Display and Analyser"){
524 Init();
525 if(ProcDirClient!=NULL) eScanProc->eProcDirClient=ProcDirClient;
526 eScanSet = ss;
527 eID = *((EdbID *)ss->eIDS.At(0));
528 eID.ePlate = 0;
529 }
Definition: EdbID.h:7
Int_t ePlate
Definition: EdbID.h:11
ss
Definition: energy.C:62

◆ EdbEDA() [4/5]

EdbEDA::EdbEDA ( EdbDataProc dproc)
inline
531 : TNamed("EDA","Event Display and Analyser") {
532 Init();
535 GetTrackSet("TS")->SetNsegCut(3);
536 GetTrackSet("TS")->DoSelection();
537 }
EdbDataSet * GetDataSet()
Definition: EdbDataSet.h:197
EdbPVRec * PVR() const
Definition: EdbDataSet.h:198
EdbDataSet * eDataSet
Definition: EdbEDA.h:203
void SetNsegCut(int nseg)
Definition: EdbEDATrackSet.h:91
void DoSelection()
Definition: EdbEDATrackSet.h:503
void AddTracksPVR(EdbPVRec *pvr)
Definition: EdbEDATrackSet.h:312
EdbEDATrackSet * GetTrackSet(int i)
Definition: EdbEDA.h:617
EdbDataProc * dproc
Definition: check_vertex.C:13

◆ EdbEDA() [5/5]

EdbEDA::EdbEDA ( EdbPVRec pvr,
bool  autorun = 1 
)
inline
541 {
542 Init();
543 ePVR = pvr;
544
545 if(pvr->Ntracks()==0){
546 printf("*******************************************\n");
547 printf(" Worning: No tracks in EdbPVRec object! \n");
548 printf("*******************************************\n");
549 printf("EDA is made to show \"Tracks\". if you want to show segments in PVR, make tracks from the segments. or you may try EdbEDAUtil::FillTracksFromPatterns(EdbPVRec *)\n");
550 }
551
552 // if plate number is not set. set plate number as PID.
553 int flag_plset=0;
554 if(ePVR->eTracks==NULL) ePVR->eTracks = new TObjArray;
555 for(int i=0;i<ePVR->Ntracks();i++){
556 EdbTrackP *t = ePVR->GetTrack(i);
557 EdbSegP *s = t->GetSegmentLast();
558 if(s->Plate()!=0) flag_plset++; // if plate number is set.
559 }
560
561 if(flag_plset==0){ // in case plate number is not set, set PID as plate number
562 for(int i=0;i<ePVR->Npatterns();i++){
564 if(p==NULL) continue;
565 p->SetSegmentsPlate(p->ID());
566 }
567 }
568
569 GetTrackSet("TS")->AddTracksPVR(pvr);
571 if(autorun) Run();
572 }
EdbPVRec * ePVR
Definition: EdbEDA.h:206
void AddVertices(TObjArray *vertices)
Definition: EdbEDASets.h:189
EdbEDAVertexSet * GetVertexSet()
Definition: EdbEDA.h:660
TObjArray * eVTX
array of vertex
Definition: EdbPVRec.h:162
Int_t Ntracks() const
Definition: EdbPVRec.h:203
TObjArray * eTracks
Definition: EdbPVRec.h:161
EdbTrackP * GetTrack(int i) const
Definition: EdbPVRec.h:241
Definition: EdbPattern.h:273
Int_t Npatterns() const
Definition: EdbPattern.h:366
EdbPattern * GetPattern(int id) const
Definition: EdbPattern.cxx:1721
Definition: EdbSegP.h:21
Definition: EdbPattern.h:113
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
p
Definition: testBGReduction_AllMethods.C:8

Member Function Documentation

◆ AddDrawObject()

void EdbEDA::AddDrawObject ( EdbEDAObject o)
inline
582{ eDrawObjects->Add(o);}
TObjArray * eDrawObjects
Definition: EdbEDA.h:483
AcqOdyssey * o
Definition: hwinit.C:2

◆ AddTrackSet()

EdbEDATrackSet * EdbEDA::AddTrackSet ( char *  name)
inline
580{ EdbEDATrackSet *set = new EdbEDATrackSet(name); eTrackSets->Add(set); return set;}
Definition: EdbEDATrackSet.h:178
TObjArray * eTrackSets
Definition: EdbEDA.h:484
EdbScanSet * set
Definition: emtraceback.cpp:14
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24

◆ AddVertex()

void EdbEDA::AddVertex ( EdbVertex v)
inline
661{ eVertexSet->AddVertex(v);}
void AddVertex(EdbVertex *v)
Definition: EdbEDASets.h:183
EdbEDAVertexSet * eVertexSet
Definition: EdbEDA.h:487

◆ CheckScanback()

EdbTrackP * EdbEDA::CheckScanback ( EdbTrackP t)
inline
730{return GetTrackSet("SB")->FindTrackLast(t->GetSegmentLast());}
EdbTrackP * FindTrackLast(EdbSegP *s, double dx=20, double dt=0.03)
Definition: EdbEDATrackSet.h:394

◆ ClassDef()

EdbEDA::ClassDef ( EdbEDA  ,
 
)

◆ ClearDrawObjects()

void EdbEDA::ClearDrawObjects ( )
inline
584{ eDrawObjects->Clear();}

◆ ClearVertices()

void EdbEDA::ClearVertices ( )
inline
void ClearVertices()
Definition: EdbEDASets.h:213

◆ CreateTrackSet()

EdbEDATrackSet * EdbEDA::CreateTrackSet ( char *  name)
inline
633 {
635 eTrackSets->Add(set);
636 return set;
637 }

◆ Draw()

void EdbEDA::Draw ( int  redraw = kFALSE)
2045 {
2046
2047 if(gEve->GetCurrentEvent()!=0) gEve->GetCurrentEvent()->RemoveElements();
2048
2049 for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->Draw(kFALSE);
2050
2051 eVertexSet->Draw();
2052
2053 for(int i=0;i<NDrawObjects();i++) if(GetDrawObject(i)) GetDrawObject(i)->Draw();
2054
2055 SetSelection();
2056
2057 SetSelected();
2058 eExt->Draw();
2059
2060 if(redraw) gEve->Redraw3D();
2061
2063}
void Draw(int redraw=0, int fix=0)
Definition: EdbEDASets.C:225
void SetDrawCheckBox()
Definition: EdbEDAMainTab.C:1084
virtual void Draw(Option_t *option="")
Definition: EdbEDA.h:41
void SetSelection(TObjArray *selected=NULL)
Definition: EdbEDA.C:1587
TObjArray * SetSelected(TObjArray *selected=NULL)
Definition: EdbEDA.C:1541
void Draw(int redraw=kFALSE)
Definition: EdbEDATrackSet.C:519
void Draw(int redraw=0)
Definition: EdbEDASets.C:195
EdbEDAExtentionSet * eExt
Definition: EdbEDA.h:488
EdbEDAObject * GetDrawObject(int i)
Definition: EdbEDA.h:586
int NTrackSets()
Definition: EdbEDA.h:616
int NDrawObjects()
Definition: EdbEDA.h:585
EdbEDAMainTab * eMainTab
Definition: EdbEDA.h:491

◆ DrawVertices()

void EdbEDA::DrawVertices ( int  redraw = 0)
inline
664{ eVertexSet->Draw(redraw);}

◆ GetCurrentTracks()

TObjArray * EdbEDA::GetCurrentTracks ( void  )
inline
588 {
589 TEveEventManager *ev = gEve->GetCurrentEvent();
590 TObjArray *tracks = new TObjArray;
591 for(TEveElement::List_i it = ev->BeginChildren(); it!=ev->EndChildren(); it++){
592 TEveElement *e = *it;
593 if(IsTrack(e)) tracks->Add((EdbTrackP *)e->GetUserData());
594 }
595 return tracks;
596 }
TTree * tracks
Definition: check_tr.C:19
int IsTrack(TObject *o)
Definition: EdbEDAUtil.C:17

◆ GetDrawObject()

EdbEDAObject * EdbEDA::GetDrawObject ( int  i)
inline
586{ return (EdbEDAObject*) eDrawObjects->At(i);}
Definition: EdbEDA.h:34

◆ GetDSTab()

EdbEDADecaySearchTab * EdbEDA::GetDSTab ( )
inline
729{return eDSTab;}
EdbEDADecaySearchTab * eDSTab
Definition: EdbEDA.h:497

◆ GetEveElement()

TEveElement * EdbEDA::GetEveElement ( TObject *  t)
inline

return TEveElement of the track, vertex. if element is not in the Event, return NULL.

606 {
608 TEveEventManager *ev = gEve->GetCurrentEvent();
609 for(TEveElement::List_i it = ev->BeginChildren(); it!=ev->EndChildren(); it++){
610 TEveElement *e = *it;
611 if( t == e->GetUserData() ) return e;
612 }
613 return NULL;
614 }

◆ GetExtentionSet()

EdbEDAExtentionSet * EdbEDA::GetExtentionSet ( )
inline
699{ return eExt;}

◆ GetMainTab()

EdbEDAMainTab * EdbEDA::GetMainTab ( )
inline
724{return eMainTab;}

◆ GetOperationTab()

EdbEDAOperationTab * EdbEDA::GetOperationTab ( )
inline
728{return eOperationTab;}
EdbEDAOperationTab * eOperationTab
Definition: EdbEDA.h:495

◆ GetPlotTab()

EdbEDAPlotTab * EdbEDA::GetPlotTab ( )
inline
726{return ePlotTab;}
EdbEDAPlotTab * ePlotTab
Definition: EdbEDA.h:493

◆ GetScaleZ()

double EdbEDA::GetScaleZ ( )
inline
732{ return eScaleZ;}
double eScaleZ
Definition: EdbEDA.h:499

◆ GetTrack()

EdbTrackP * EdbEDA::GetTrack ( EdbSegP s)
inline
598 {
599 for(int i=0;i<NTrackSets();i++){
601 if(t) return t;
602 }
603 return NULL;
604 }
EdbTrackP * GetTrack(EdbSegP *s)
Definition: EdbEDATrackSet.h:428

◆ GetTrackSet() [1/4]

EdbEDATrackSet * EdbEDA::GetTrackSet ( char *  name)
inline
618{ return (EdbEDATrackSet *) eTrackSets->FindObject(name);}

◆ GetTrackSet() [2/4]

EdbEDATrackSet * EdbEDA::GetTrackSet ( EdbID ID)
inline
625 {
626 for(int i=0;i<NTrackSets();i++) {
627 EdbID& ID2 = GetTrackSet(i)->GetID();
628 if(ID.eMajor==ID2.eMajor&&ID.eMinor==ID2.eMinor) return GetTrackSet(i);
629 }
630 return NULL;
631 }
EdbID & GetID()
Definition: EdbEDATrackSet.h:464
Int_t eMinor
Definition: EdbID.h:13
Int_t eMajor
Definition: EdbID.h:12

◆ GetTrackSet() [3/4]

EdbEDATrackSet * EdbEDA::GetTrackSet ( EdbTrackP t)
inline
619 {
620 for(int i=0;i<NTrackSets();i++)
621 if ( GetTrackSet(i)->IsMember(t) )
622 return (EdbEDATrackSet *) eTrackSets->At(i);
623 return NULL;
624 }
bool IsMember(EdbTrackP *t)
Definition: EdbEDATrackSet.h:443

◆ GetTrackSet() [4/4]

EdbEDATrackSet * EdbEDA::GetTrackSet ( int  i)
inline
617{ return (EdbEDATrackSet *) eTrackSets->At(i);}

◆ GetTrackSets()

TObjArray * EdbEDA::GetTrackSets ( )
inline
638{ return eTrackSets;}

◆ GetTrackSetTab()

EdbEDATrackSetTab * EdbEDA::GetTrackSetTab ( )
inline
725{return eTrackSetTab;}
EdbEDATrackSetTab * eTrackSetTab
Definition: EdbEDA.h:492

◆ GetVertexSet()

EdbEDAVertexSet * EdbEDA::GetVertexSet ( )
inline
660{ return eVertexSet;}

◆ GetVertexTab()

EdbEDAVertexTab * EdbEDA::GetVertexTab ( )
inline
727{return eVertexTab;}
EdbEDAVertexTab * eVertexTab
Definition: EdbEDA.h:494

◆ GetVertices()

TObjArray * EdbEDA::GetVertices ( )
inline
662{return eVertexSet->GetVertices();}
TObjArray * GetVertices()
Definition: EdbEDASets.h:217

◆ Init()

void EdbEDA::Init ( void  )

Initialization of TrackSets and VertexSet.

1944 {
1946 gEDA = this;
1947 eScaleZ=1.0;
1948 eJapanese=kFALSE;
1949
1950 // Setting of Path, Brick number.
1951 eScanProc = new EdbScanProc;
1953 printf("%s\n", eScanProc->eProcDirClient.Data());
1954 int ibrick = FindBrickIDFromPath();
1955 EdbEDABrickData::SetBrick ( ibrick);
1956
1957 //eScanSet = new EdbScanSet();
1958
1959 eDrawObjects = new TObjArray;
1960 eTrackSets = new TObjArray;
1961
1963 eTrackSets->Add(set = new EdbEDATrackSet("TS"));
1964 set->SetDrawAreaSet(kTRUE);
1965
1966 eTrackSets->Add(set = new EdbEDATrackSet("SB"));
1967 set->SetTrackAttribute(kWhite);
1968 set->SetID(EdbID(ibrick,0,1,100));
1969
1970 eTrackSets->Add(set = new EdbEDATrackSet("SF"));
1971 set->SetTrackAttribute(kGreen);
1972 set->SetID(EdbID(ibrick,0,1,200));
1973
1974 eTrackSets->Add(set = new EdbEDATrackSet("BT"));
1975 set->SetInterpolation(kFALSE); // disable to fill dashed line on holes.
1976 set->SetExtendMode(kExtendDown); // force extention down.
1977
1978 eTrackSets->Add(set = new EdbEDATrackSet("MN"));
1979 set->SetTrackAttribute(kViolet);
1981 eExt = new EdbEDAExtentionSet();
1982
1983
1984 //AddDrawObject(new EdbEDAObject);
1985
1986}
EdbEDA * gEDA
Definition: EdbEDA.C:3
void SetBrick(int ibrick)
Definition: EdbEDA.h:227
Definition: EdbEDASets.h:230
Definition: EdbEDASets.h:143
bool eJapanese
Definition: EdbEDA.h:500
scanned data processing
Definition: EdbScanProc.h:12
void SetID(EdbID id)
Definition: EdbScanSet.h:47
int FindBrickIDFromPath()
Definition: EdbEDAUtil.C:900
char * FindProcDirClient()
Definition: EdbEDAUtil.C:882
@ kExtendDown
Definition: EdbEDAUtil.h:92

◆ Japanese()

bool EdbEDA::Japanese ( )
inline
734{return eJapanese;}

◆ NDrawObjects()

int EdbEDA::NDrawObjects ( )
inline
585{ return eDrawObjects->GetEntries();}

◆ NTrackSets()

int EdbEDA::NTrackSets ( )
inline
616{ return eTrackSets->GetEntries();}

◆ OpenFile()

void EdbEDA::OpenFile ( char *  filename = NULL,
int  datatype = 100,
TCut  rcut = "1" 
)

filename : filename for "LinkDef" or "*.set.root(ScanSet)" or "*.root(linked_track.root format)"
datatype : only for "LinkDef". Data type for EdbDataProc::InitVolume(). put -1 for no InitVolume
if datatype= 100 or 1000. linked tracks will be registred to "TS".
rcut : Track selection when read.

if filename is not given. open file browser.

2065 {
2070
2072 if(filename==NULL) {
2073 TGFileInfo *fi=new TGFileInfo;
2074 fi->fIniDir = StrDup(".");
2075 const char *filetypes[] = { "LinkDef", "*.def",
2076 "Linkeda Tracks", "*.root",
2077 "ScanSet", "*.set.root",
2078 "Feedback file","*.feedback*",
2079 "Mxx file","*.all",
2080 "All files","*",0,0};
2081 fi->fFileTypes=filetypes;
2082 new TGFileDialog(gClient->GetRoot(), 0, kFDOpen, fi);
2083 filename = fi->fFilename;
2084 }
2085
2086 if(filename==NULL) return;
2087 // check the existence of the file.
2088 if(gSystem->AccessPathName(filename, kReadPermission)!=0) {
2089 printf("Error : %s is not found\n", filename);
2090 return;
2091 }
2092
2093
2094 // select an action for the file.
2095 TString s(filename);
2096 s.ToLower();
2097 if(s.EndsWith(".set.root")){
2098 // Scan set file
2099 printf("EDA Start with Scan Set : %s\n", s.Data());
2100
2101 Init();
2102 TFile *f = TFile::Open(filename);
2103 eScanSet = (EdbScanSet *)f->Get("set");
2104 eID = *((EdbID *)eScanSet->eIDS.At(0));
2105 eID.ePlate = 0;
2106
2107 TString s2;
2108
2109 eScanProc->MakeFileName(s2, eID, "trk.root", kFALSE);
2110 int IsExist = gSystem->AccessPathName(s2.Data(), kReadPermission);
2111 if( IsExist==kFALSE) {
2113 GetTrackSet("TS")->ReadTracksTree(eID,rcut);
2114 GetTrackSet("TS")->SetNsegCut(3);
2115 GetTrackSet("TS")->DoSelection();
2116 }
2117 else{
2119 }
2120 }
2121 else if(s.EndsWith(".def")){
2122 // Link def file
2123 printf("EDA Start with LinkDef : %s\n", s.Data());
2124 Init();
2127
2128 if(datatype>=0) {
2129 dproc->InitVolume(datatype,rcut);
2130 SetDataType(datatype);
2132 GetTrackSet("TS")->SetNsegCut(3);
2134 GetTrackSet("TS")->DoSelection();
2135 }
2136 }
2137 else if(s.EndsWith(".root")){
2138 // Linked tracks file
2139 Init();
2140 printf("EDA Start with Linked_track : %s\n", s.Data());
2142 ePVR=GetTrackSet("TS")->GetPVRec();
2143 GetTrackSet("TS")->SetNsegCut(3);
2144 GetTrackSet("TS")->DoSelection();
2145 }
2146 else if(s.EndsWith(".feedback")){
2147 // Feedback
2148 Init();
2149 printf("EDA Start with Feedback : %s\n", s.Data());
2150 printf("Only for viewer!\n");
2152 }
2153 else if(s.EndsWith(".all")){
2154 // Mxx file (Nagoya style ascii)
2155 Init();
2156 SetJapanese();
2157 printf("EDA Start with Mxx file : %s\n", filename);
2159
2160 ePVR = pvr;
2161 GetTrackSet("TS")->AddTracksPVR(pvr);
2162 GetVertexSet()->AddVertices(pvr->eVTX);
2163 }
2164
2165
2166// Run();
2167}
FILE * f
Definition: RecDispMC.C:150
emulsion data processing
Definition: EdbDataSet.h:181
int InitVolume(int datatype=0, const char *rcut="1")
Definition: EdbDataSet.cxx:2066
int GetPlateUp()
Definition: EdbEDA.h:237
void SetDataType(int datatype)
Definition: EdbEDA.h:235
void ReadFeedbackFile(char *filename=NULL)
Definition: EdbEDA.C:757
void SetUpstreamPlate(int ipl)
Definition: EdbEDATrackSet.h:92
EdbDataProc * ReadLinkedTracks(char *lnkdef="lnk.def", TCut cut="1")
Definition: EdbEDATrackSet.C:717
void ReadPredictionScan(int BRICK, int SBVERSION, int RUN_PRED, int UseMicrotrack=0)
Definition: EdbEDATrackSet.C:777
EdbPVRec * GetPVRec()
Definition: EdbEDATrackSet.h:320
void ReadTracksTree(char *scanset_filename, TCut cut="1")
Definition: EdbEDATrackSet.C:666
void SetScanSet(EdbScanSet *ss)
Definition: EdbEDATrackSet.h:470
EdbDataProc * ReadLinkedTracksFile(char *filename="linked_tracks.root", TCut cut="1")
Definition: EdbEDATrackSet.C:689
void SetJapanese(bool b=kTRUE)
Definition: EdbEDA.h:735
Definition: EdbPVRec.h:148
void MakeFileName(TString &s, int id[4], const char *suffix, bool inplate=true)
Definition: EdbScanProc.cxx:1819
Definition: EdbScanSet.h:11
TList eIDS
list of the identifiers to be processed
Definition: EdbScanSet.h:16
EdbSegP * s2
Definition: tlg2couples.C:30
EdbPVRec * ReadMxxPVR(char *filename=NULL)
Definition: EdbEDAUtil.C:1051

◆ PVRec2DataProc()

EdbDataProc * EdbEDA::PVRec2DataProc ( EdbPVRec pvr)
1717 {
1718 FILE *fp;
1719 printf("write lnkdummy.def\n");
1720 fp=fopen("lnkdummy.def","wt");
1721 fprintf(fp, "INPUT_RUNS_LIST lnkdummy.lst\n"
1722 "OUTPUT_DATA_DIR ./data/\n"
1723 "PARAMETERS_DIR ./pardummy/\n");
1724 fclose(fp);
1725
1726 fp = fopen("lnkdummy.lst","wt");
1727 for(int i=0;i<pvr->Npatterns();i++){
1728 EdbPattern *pat = pvr->GetPattern(i);
1729 if(pat==NULL) continue;
1730 fprintf(fp, "%3d 1 ./data/* 1\n", pat->PID());
1731 }
1732 fclose(fp);
1733
1734 printf("make pardummy directry\n");
1735 system("mkdir pardummy");
1736 printf("write parameters files\n");
1737 for(int i=0;i<pvr->Npatterns();i++){
1738 EdbPattern *pat = pvr->GetPattern(i);
1739 if(pat==NULL) continue;
1740
1741 fp = fopen(Form("pardummy/%02d_001.par", pat->PID()),"wt");
1742 fprintf(fp,"ZLAYER 0 %.1lf 0. 0.\n", pat->Z());
1743 fprintf(fp,"AFFXY 0 1 0 0 1 0 0\n");
1744 fclose(fp);
1745 }
1746
1747 EdbDataProc *proc = new EdbDataProc("lnkdummy.def");
1748 proc->SetPVR(pvr);
1749
1750 system("rm lnkdummy.def");
1751 system("rm lnkdummy.lst");
1752 system("rm pardummy/*.*");
1753 system("rmdir pardummy");
1754
1755
1756 return proc;
1757}
void SetPVR(EdbPVRec *pvr)
Definition: EdbDataSet.h:200
int PID() const
Definition: EdbPattern.h:320
Float_t Z() const
Definition: EdbPattern.h:84
EdbDataProc * proc
Definition: read_pvr.C:3
fclose(pFile)

◆ Redraw()

void EdbEDA::Redraw ( )
inline
680{ if(gEve)Draw(kTRUE);}
void Draw(int redraw=kFALSE)
Definition: EdbEDA.C:2045

◆ RemoveDrawObject()

void EdbEDA::RemoveDrawObject ( TObject *  o)
inline
583{ eDrawObjects->Remove(o); eDrawObjects->Sort();}

◆ RemoveSelected()

void EdbEDA::RemoveSelected ( )
inline

remove selected tracks or vertices.
to remove vertex, select vertex but not select tracks.

643 {
646 int nselected = NSelected();
647 for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->RemoveTracks(GetSelectedTracks());
648 if(nselected==0) eVertexSet->RemoveVertex(GetSelectedVertex());
649 }
TObjArray * GetSelectedTracks(void)
Definition: EdbEDA.h:417
int NSelected()
Definition: EdbEDA.h:420
EdbVertex * GetSelectedVertex(void)
Definition: EdbEDA.h:439
void RemoveTracks(TObjArray *tracks)
Definition: EdbEDATrackSet.h:325
void RemoveVertex(EdbVertex *v)
Definition: EdbEDASets.h:208

◆ RemoveTrack()

void EdbEDA::RemoveTrack ( EdbTrackP t)
inline
641{for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->RemoveTrack(t);}
void RemoveTrack(EdbTrackP *t)
Definition: EdbEDATrackSet.h:324

◆ RemoveTrackBase()

void EdbEDA::RemoveTrackBase ( EdbTrackP t)
inline
640{for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->RemoveTrackBase(t);}
void RemoveTrackBase(EdbTrackP *t)
Definition: EdbEDATrackSet.h:323

◆ Reset()

void EdbEDA::Reset ( )
inline
683 {
684 for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->Clear();
687 }
void Clear()
Definition: EdbEDATrackSet.h:336
void ClearVertices()
Definition: EdbEDA.h:663
void ClearDrawObjects()
Definition: EdbEDA.h:584

◆ RestorePrevious()

void EdbEDA::RestorePrevious ( )
inline
694 {
695 for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->RestorePrevious();
697 }
void RestorePrevious(void)
Definition: EdbEDATrackSet.h:351
void RestorePrevious(void)
Definition: EdbEDASets.h:204

◆ Run()

void EdbEDA::Run ( )

Start Display.

1989 {
1991
1992 if(gEve==NULL){
1993 // TEve setting
1994#if ROOT_VERSION_CODE<ROOT_VERSION(5,22,00)
1995 TEveManager::Create();
1996 eViewer = gEve->GetGLViewer();
1997
1998#else
1999 TEveManager::Create(kTRUE,"V");
2000 eViewer = gEve->GetDefaultGLViewer();
2001 gEve->GetWindowManager()->HideAllEveDecorations();
2002
2003 gEve->GetDefaultViewer()->SetName("Viewer1");
2004 TGTab *tab=gEve->GetBrowser()->GetTabRight();
2005 tab->GetCurrentTab()->SetName("Viewer1");
2006 tab->Connect("Selected(Int_t)", "EdbEDA", this, "GetGLViewer()");
2007
2008#endif
2009
2010 gEve->GetMainWindow()->Resize(1024,730); // resize for note book size 1280x800
2011
2012 eViewer->SetCurrentCamera(TGLViewer::kCameraOrthoZOY); // Orthogonal Camera
2013 TGLOrthoCamera& cam = (TGLOrthoCamera &) eViewer->CurrentCamera();
2014 cam.SetEnableRotate(kTRUE);
2015
2016 eViewer->SetClearColor(kBlack);
2017 SetOverlay();
2018 gEve->GetMainWindow()->SetWindowName(Form("OPERA Event Display and Analyser. Brick %d", EdbEDABrickData::GetBrick()));
2019 //gEve->GetMainWindow()->SetWindowName("OPERA Event Display and Analyser.");
2020
2021 InitSelection(gEve->GetSelection());
2022
2023 new EdbEDAListTab;
2024 eMainTab = new EdbEDAMainTab;
2025
2027 ePlotTab = new EdbEDAPlotTab;
2031 new EdbEDAPredTab;
2032 new EdbEDAShowerTab;
2033 new EdbEDAMCTab;
2034 // new EdbEDAShowerTab;
2035 // gEve->GetBrowser()->GetTabBottom()->RemoveTab(0); // remove command tab
2036 gEve->GetBrowser()->GetTabBottom()->SetTab(0); // set TrackSetTab in front.
2037 }
2038
2039 printf("GUI setting finished.\n");
2040 //if(eAreaSet->N()==0&&GetTrackSet("TS")->NBase()!=0) eAreaSet->SetAreas( GetTrackSet("TS")->GetTracksBase());
2041 Draw(kFALSE);
2042 if(gEve->GetCurrentEvent()!=NULL) gEve->Redraw3D(kTRUE);
2043}
int GetBrick()
Definition: EdbEDA.h:232
EdbEDAOverlay * SetOverlay()
Definition: EdbEDA.h:154
TGLViewer * eViewer
Definition: EdbEDA.h:137
Definition: EdbEDADecaySearch.h:426
Definition: EdbEDATabs.h:11
Definition: EdbEDATabs.h:86
Definition: EdbEDAMainTab.h:9
Definition: EdbEDATabs.h:159
Definition: EdbEDAPlotTab.h:14
Definition: EdbEDATabs.h:109
void InitSelection(TEveSelection *sel)
Definition: EdbEDA.h:384
Definition: EdbEDAShowerTab.h:10
Definition: EdbEDATrackSet.h:608
Definition: EdbEDATabs.h:32

◆ ScanProc()

EdbScanProc * EdbEDA::ScanProc ( )
inline
578{ return eScanProc;}

◆ SetBrick()

void EdbEDA::SetBrick ( int  ibrick)
inline

Set brick ID. it sets also for all TrackSets.

666 {
669 for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->GetID().eBrick=ibrick;
670 if(gEve) gEve->GetMainWindow()->SetWindowName(
671 Form("OPERA Event Display and Analyser. Brick %d", EdbEDABrickData::GetBrick()));
672 }
Int_t eBrick
Definition: EdbID.h:10

◆ SetColorMode()

void EdbEDA::SetColorMode ( int  mode)
inline

Set color mode,

701 {
703 // enum EdbEDAUtil::EDACOLOR{
704 // kCOLOR_BY_PLATE,
705 // kCOLOR_BY_PH,
706 // kCOLOR_BY_ID,
707 // kCOLOR_BY_PARTICLE, // to be done
708 // kBLACKWHITE
709 // };
710
711 printf("color mode %d\n", mode);
712 if(mode==kBLACKWHITE) eViewer->SetClearColor(kWhite);
713 else eViewer->SetClearColor(kBlack);
714 for(int i=0;i<NTrackSets();i++) GetTrackSet(i) ->SetColorMode(mode);
715 GetVertexSet()->SetColorMode(mode);
716 for(int i=0;i<NDrawObjects();i++) GetDrawObject(i)->SetColorMode(mode);
717 Redraw();
718 }
virtual void SetColorMode(int mode)
Definition: EdbEDA.h:42
void SetColorMode(int mode)
Definition: EdbEDATrackSet.C:276
void SetColorMode(int mode)
Definition: EdbEDASets.h:175
void Redraw()
Definition: EdbEDA.h:680
@ kBLACKWHITE
Definition: EdbEDAUtil.h:86

◆ SetDrawAreaSet()

void EdbEDA::SetDrawAreaSet ( bool  draw)
inline
676{ for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->GetAreaSet()->SetDrawG(draw);}
void SetDrawG(bool draw)
Definition: EdbEDASets.h:107
EdbEDAAreaSet * GetAreaSet()
Definition: EdbEDATrackSet.h:602

◆ SetDrawTrackAngle()

void EdbEDA::SetDrawTrackAngle ( bool  draw)
inline
675{ for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->SetDrawTrackAngleG(draw);}
void SetDrawTrackAngleG(bool draw)
Definition: EdbEDATrackSet.h:590

◆ SetDrawTrackID()

void EdbEDA::SetDrawTrackID ( bool  draw)
inline
674{ for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->SetDrawTrackIDG(draw);}
void SetDrawTrackIDG(bool draw)
Definition: EdbEDATrackSet.h:589

◆ SetJapanese()

void EdbEDA::SetJapanese ( bool  b = kTRUE)
inline
735{eJapanese = b;}

◆ SetLayerLength()

void EdbEDA::SetLayerLength ( double  layer_length)
inline

Set LayerLength for all TrackSet.

719 {
721 for(int i=0;i<NTrackSets();i++){ GetTrackSet(i)->SetLayerLength(layer_length);}
722 }
void SetLayerLength(double length)
Definition: EdbEDATrackSet.h:556

◆ SetOnlySelected()

void EdbEDA::SetOnlySelected ( )
inline
651 {
652 for(int i=0;i<NTrackSets();i++) {
655 }
658 }
void ClearTracks(void)
Definition: EdbEDATrackSet.h:327
void SetTracks(TObjArray *tracks)
Definition: EdbEDATrackSet.h:303
void SetVertex(EdbVertex *v)
Definition: EdbEDASets.h:191

◆ SetScaleZ()

void EdbEDA::SetScaleZ ( double  scale)
inline
733{ eScaleZ=scale;}

◆ StorePrevious()

void EdbEDA::StorePrevious ( )
inline
689 {
690 for(int i=0;i<NTrackSets();i++) GetTrackSet(i)->StorePrevious();
692 }
void StorePrevious()
Definition: EdbEDATrackSet.h:356
void StorePrevious(void)
Definition: EdbEDASets.h:205

◆ UpdateScene()

void EdbEDA::UpdateScene ( )
inline
681{ if(gEve) gEve->GetDefaultGLViewer()->UpdateScene();}

Member Data Documentation

◆ eDrawObjects

TObjArray* EdbEDA::eDrawObjects
private

◆ eDSTab

EdbEDADecaySearchTab* EdbEDA::eDSTab
private

◆ eEvent

TEveEventManager* EdbEDA::eEvent
private

◆ eExt

EdbEDAExtentionSet* EdbEDA::eExt
private

◆ eJapanese

bool EdbEDA::eJapanese
private

◆ eMainTab

EdbEDAMainTab* EdbEDA::eMainTab
private

◆ eOperationTab

EdbEDAOperationTab* EdbEDA::eOperationTab
private

◆ ePlotTab

EdbEDAPlotTab* EdbEDA::ePlotTab
private

◆ eScaleZ

double EdbEDA::eScaleZ
private

◆ eSel

EdbEDASelection* EdbEDA::eSel
private

◆ eSetTracks

EdbEDATrackSet* EdbEDA::eSetTracks
private

◆ eTrackSets

TObjArray* EdbEDA::eTrackSets
private

◆ eTrackSetTab

EdbEDATrackSetTab* EdbEDA::eTrackSetTab
private

◆ eVertexSet

EdbEDAVertexSet* EdbEDA::eVertexSet
private

◆ eVertexTab

EdbEDAVertexTab* EdbEDA::eVertexTab
private

The documentation for this class was generated from the following files: