Changeset 961 for trunk/MagicSoft/Mars
- Timestamp:
- 10/05/01 14:39:20 (23 years ago)
- Location:
- trunk/MagicSoft/Mars
- Files:
-
- 40 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r959 r961 1 1 -*-*- END -*-*- 2 3 2001/10/05: Thomas Bretz 4 5 * manalysis/MHillas.cc, manalysis/MImgCleanStd.cc, mbase/MClone.[h,cc], 6 mbase/MFilterList.h, mbase/MWriteFile.h, mbase/MWriteRootFile.h, 7 mdatacheck/MGDisplayAdc.cc, meventdisp/MGCamDisplay.cc, 8 meventdisp/MGCamDisplay.h, meventdisp/MGEvtDisplay.h, 9 mgui/MGeomPix.h, mhist/MFillH.h, mhist/MHHillas.h, 10 mmain/MAnalysis.h, mmain/MBrowser.h, mmain/MCameraDisplay.h, 11 mmain/MDataCheck.h, mmain/MEvtDisp.h, mmain/MMonteCarlo.h, 12 mraw/MRawFileRead.cc 13 - comments updated 14 15 * mbase/MFilter.[h,cc]: 16 - made IsExpressionTrue abstract 17 18 * meventdisp/MGEvtDisplay.cc: 19 - fixed a bug that only every second event was displayed 20 21 * meventdisp/MGFadcDisp.[h,cc]: 22 - reorganized code (changing pixel number drawed the histogram twice) 23 24 * mgui/MCamDisplay.[h,cc]: 25 - added fDrawingPad to make sure that all output goes into the same pad 26 27 * mhist/HistLinkDef.h, mhist/Makefile: 28 - removed old MFillH* classes 29 30 2 31 3 32 2001/10/02: Thomas Bretz -
trunk/MagicSoft/Mars/NEWS
r949 r961 5 5 6 6 - Added new GUI functionality (Analysis) 7 8 - Added a camera display to be able to display events in the camera 9 together with the calculated hillas ellipse 10 11 - Added a 'Clone'-Task (MClone) which can clone a parameter container 12 object at any state of the analysis, so that the output are several 13 states 7 14 8 15 -
trunk/MagicSoft/Mars/manalysis/MHillas.cc
r857 r961 30 30 // Storage Container for the Hillas parameter // 31 31 // // 32 // FIXME: Here everybody should find an explanation of the parameters // 32 // FIXME: - Here everybody should find an explanation of the parameters // 33 // - using boooleans for fIsPixelUsed, fIsPixelCore, ... is rather // 34 // slow because you have to loop over all pixels in any loop. // 35 // There could be a huge speed improvement using Hash Tables // 36 // (linked lists, see THashTable and THashList, too) // 33 37 // // 34 38 ///////////////////////////////////////////////////////////////////////////// … … 160 164 // (The calcualtion is some kind of two dimentional statistics) 161 165 // 166 // FIXME: MHillas::Calc is rather slow at the moment because it loops 167 // unnecessarily over all pixels in all its loops (s.MImgCleanStd) 168 // The speed could be improved very much by using Hash-Tables 169 // (linked lists, see THashTable and THashList, too) 170 // 162 171 Bool_t MHillas::Calc(const MGeomCam &geom, const MCerPhotEvt &evt) 163 172 { -
trunk/MagicSoft/Mars/manalysis/MImgCleanStd.cc
r857 r961 31 31 // Please look at the three CleanSteps and Process // 32 32 // // 33 // FIXME: MImgCleanStd is rather slow at the moment because it loops // 34 // unnecessarily over all pixels in all its loops (s.MHillas) // 35 // The speed could be improved very much by using Hash-Tables // 36 // (linked lists, see THashTable and THashList, too) // 37 // // 33 38 // Input Containers: // 34 39 // MGeomCam, MCerPhotEvt // -
trunk/MagicSoft/Mars/mbase/MClone.cc
r959 r961 25 25 ////////////////////////////////////////////////////////////////////////////// 26 26 // // 27 // MClone // 28 // // 29 // This task clones a given paramter container. You can either specify // 30 // the name of the container which should be cloned or a pointer to the // 31 // container. If you specify a name the preprocessing tries to find the // 32 // corresponding container in the parameter list. // 33 // Cloning in this context means duplicating the object in memory. This // 34 // may be used if you change an object in the eventloop (eg. the image // 35 // cleaning is changing the image) and you want to compare both 'version' // 36 // of this object afterwards. // 37 // The cloned object can be accessed by using MClone::GetClone. // 38 // To clone the container more than once use several instances of MClone. // 39 // The object does only exist until a new object is cloned. It is deleted // 40 // in the destructor. // 41 // // 42 // Input Containers: // 43 // MParContainer // 44 // // 45 // Output Containers: // 46 // -/- // 27 47 // // 28 48 ////////////////////////////////////////////////////////////////////////////// … … 52 72 // -------------------------------------------------------------------------- 53 73 // 54 // Constructor.74 // Constructor. Remembers the name to search for in the parameter list. 55 75 // 56 76 MClone::MClone(const char *par, const char *name, const char *title) … … 63 83 // -------------------------------------------------------------------------- 64 84 // 65 // Constructor.85 // Constructor. Remember the pointer of the object which has to be cloned. 66 86 // 67 87 MClone::MClone(const MParContainer *par, const char *name, const char *title) … … 74 94 // -------------------------------------------------------------------------- 75 95 // 76 // Destructor.96 // Destructor. Deletes the cloned object. 77 97 // 78 98 MClone::~MClone() … … 83 103 // -------------------------------------------------------------------------- 84 104 // 85 // Checks the parameter list for the existance of the parameter container. If 86 // the name of it was given in the constructor. It checks also for the 87 // existance of the histogram container in the parameter list if a name was 88 // given. If it is not available it tried to create a histogram container 89 // with the same type as the given object name. 105 // Checks the parameter list for the existance of the parameter container. If 106 // the name of it was given in the constructor. 90 107 // 91 108 Bool_t MClone::PreProcess(MParList *pList) 92 109 { 93 if (!fParContainer) 94 { 95 fParContainer = (MParContainer*)pList->FindObject(fParContainerName); 96 if (!fParContainer) 97 { 98 *fLog << dbginf << fParContainerName << " not found... aborting." << endl; 99 return kFALSE; 100 } 101 } 102 return kTRUE; 110 // 111 // The pointer is already given by the user. 112 // 113 if (fParContainer) 114 return kTRUE; 115 116 // 117 // Try to find the parameter container with the given name in the list 118 // 119 fParContainer = (MParContainer*)pList->FindObject(fParContainerName); 120 if (fParContainer) 121 return kTRUE; 122 123 // 124 // If it couldn't get found stop Eventloop 125 // 126 *fLog << dbginf << fParContainerName << " not found... aborting." << endl; 127 return kFALSE; 103 128 } 104 129 130 // -------------------------------------------------------------------------- 131 // 132 // Delete the cloned object if one is existing 133 // 105 134 void MClone::Clear(Option_t *) 106 135 { 136 // 137 // Check if an object has been initialized 138 // 107 139 if (!fClone) 108 140 return; 109 141 142 // 143 // Delete it and set the pointer to NULL for the sanity check (above) 144 // 110 145 delete fClone; 111 146 fClone = NULL; … … 114 149 // -------------------------------------------------------------------------- 115 150 // 116 // Fills the data from the parameter conatiner into the histogram container 151 // Deletes an existing clone and clones the object (parameter container) 152 // again. 117 153 // 118 154 Bool_t MClone::Process() 119 155 { 156 // 157 // Delete an existing clone 158 // 120 159 Clear(); 121 160 161 // 162 // Clone the given parameter container 163 // 122 164 fClone = fParContainer->Clone(); 123 165 -
trunk/MagicSoft/Mars/mbase/MClone.h
r959 r961 15 15 { 16 16 private: 17 const MParContainer *fParContainer; 18 TString fParContainerName; 17 const MParContainer *fParContainer; // pointer to container which has to be cloned 18 TString fParContainerName; // given name to search for in the parameterlist 19 19 20 TObject* fClone; 20 TObject* fClone; // pointer to the cloned object. deletion is handled by MClone 21 21 22 22 void Init(const char *name, const char *title); … … 34 34 void Clear(Option_t *opt=NULL); 35 35 36 ClassDef(MClone, 0) // Task to fill the Hillas parameters into histograms36 ClassDef(MClone, 0) // Task to clone (duplicate) an object in memory 37 37 }; 38 38 -
trunk/MagicSoft/Mars/mbase/MEvtLoop.cc
r959 r961 46 46 // Afterwards the PostProcess functions are executed. // 47 47 // // 48 // // 49 // Maybe we can add a TProgressMeter sometimes later to be able to show // 50 // the progress graphically... // 51 // // 52 // // 48 53 ////////////////////////////////////////////////////////////////////////////// 49 #include "MEvtLoop.h"50 51 54 #include <iostream.h> 52 55 … … 98 101 // 99 102 // The proprocessing part of the eventloop. Be careful, this is 100 // for developers useonly!103 // for developers or use in special jobs only! 101 104 // 102 105 Bool_t MEvtLoop::PreProcess(const char *tlist) … … 144 147 // 145 148 // The processing part of the eventloop. Be careful, this is 146 // for developers useonly!149 // for developers or use in special jobs only! 147 150 // 148 151 void MEvtLoop::Process(Int_t maxcnt) const … … 200 203 // 201 204 // The postprocessing part of the eventloop. Be careful, this is 202 // for developers useonly!205 // for developers or use in special jobs only! 203 206 // 204 207 Bool_t MEvtLoop::PostProcess() const … … 218 221 Bool_t rc = PreProcess(); 219 222 223 // 224 // If all Tasks were PreProcesses successfully start Processing. 225 // 220 226 if (rc) 221 227 Process(maxcnt); 222 228 229 // 230 // Now postprocess all tasks. Only successfully preprocessed tasks are 231 // postprocessed. If the Postprocessing of one task fail return an error. 232 // 223 233 if (!PostProcess()) 224 234 return kFALSE; 225 235 236 // 237 // If postprocessing of all preprocessed tasks was sucefully return rc. 238 // This gives an error in case the preprocessing has failed already. 239 // Otherwise the eventloop is considered: successfully. 240 // 226 241 return rc; 227 242 } -
trunk/MagicSoft/Mars/mbase/MFilter.cc
r858 r961 61 61 // collected in a MTaskList-object or are conected to the same // 62 62 // filter. // 63 // - If you want to use different filters for one task please look for//64 // t he MFilterList class.//63 // - If you want to use different filters (combined logically) for one // 64 // task please look for the MFilterList class. // 65 65 // - Be careful, the return value of IsExpressionTrue is NOT a real // 66 66 // boolean. You can return other values, too. // … … 71 71 72 72 ClassImp(MFilter); 73 74 // --------------------------------------------------------------------------75 //76 Bool_t MFilter::IsExpressionTrue() const77 {78 return kTRUE;79 }80 73 81 74 // -------------------------------------------------------------------------- -
trunk/MagicSoft/Mars/mbase/MFilter.h
r858 r961 1 1 #ifndef MFILTER_H 2 2 #define MFILTER_H 3 4 /////////////////////////////////////////////////////////////////////////////5 // //6 // MFilter //7 // //8 // Abstract base class for the filters //9 // //10 /////////////////////////////////////////////////////////////////////////////11 3 12 4 #ifndef MTASK_H … … 24 16 } 25 17 26 virtual Bool_t IsExpressionTrue() const ;18 virtual Bool_t IsExpressionTrue() const = 0; 27 19 28 20 virtual Bool_t PreProcess(MParList *pList); -
trunk/MagicSoft/Mars/mbase/MFilterList.h
r858 r961 44 44 void Print(Option_t *opt = ""); 45 45 46 ClassDef(MFilterList, 0) // List of several filters46 ClassDef(MFilterList, 0) // List to combine several filters logically 47 47 }; 48 48 -
trunk/MagicSoft/Mars/mbase/MTask.cc
r858 r961 43 43 // As an argument this function gets a pointer to the // 44 44 // parameter list. You can stop the execution by // 45 // kFALSE instread of kTRUE. // 45 // returning kFALSE instead of kTRUE. If an error // 46 // occured and you return kFALSE make sure, that // 47 // any action is closed correctly and all newly // 48 // created object are deleted. The PostProcess in // 49 // such a case won't be executed by the Tasklist or // 50 // Eventloop. // 46 51 // // 47 // - Process(): executed for each event in the eventloop. Do i n//48 // one task after the other (as the occur in the//49 // tasklist) the action of one task. Only the tasks//50 // w ith a Stream ID which matches the actual ID of the//51 // task list are executed. A task can return kFALSE//52 // to stop the execuition of the pending taks in a//53 // list or kCONTINUE to skip the pending tasks.//52 // - Process(): executed for each event in the eventloop. Do it // 53 // one task after the other (as they occur in the // 54 // tasklist). Only the tasks with a Stream ID // 55 // which matches the actual ID of the tasklist // 56 // are executed. A task can return kFALSE to // 57 // stop the execuition of the tasklist or // 58 // kCONTINUE to skip the pending tasks. // 54 59 // // 55 60 // - PostProcess(): executed after the eventloop. Here you can close // 56 61 // output files, start display of the run parameter, // 57 // etc. // 62 // etc. PostProcess should be executed only if // 63 // PreProcess was successfull (returned kTRUE) // 58 64 // // 59 65 ///////////////////////////////////////////////////////////////////////////// … … 72 78 // the virtual implementation returns kTRUE 73 79 // 74 Bool_t MTask::PreProcess( MParList *pList)80 Bool_t MTask::PreProcess(MParList *pList) 75 81 { 76 82 return kTRUE; -
trunk/MagicSoft/Mars/mbase/MTaskList.cc
r959 r961 210 210 // -------------------------------------------------------------------------- 211 211 // 212 // do pre processing (before eventloop) of all tasks in the task-list212 // do pre processing (before eventloop) of all tasks in the task-list 213 213 // 214 214 Bool_t MTaskList::PreProcess(MParList *pList) … … 297 297 case kTRUE: 298 298 // 299 // everything was OK: go on 299 // everything was OK: go on with the next task 300 300 // 301 301 continue; … … 319 319 // -------------------------------------------------------------------------- 320 320 // 321 // do post processing (before eventloop) of all tasks in the task-list 321 // do post processing (before eventloop) of all tasks in the task-list 322 // only tasks which have successfully been preprocessed are postprocessed. 322 323 // 323 324 Bool_t MTaskList::PostProcess() 324 325 { 325 326 *fLog << "Postprocessing... " << flush; 326 327 // FIXME: At the moment all tasks are post processed independ of328 // whether it was preprocessed or not.329 327 330 328 // … … 347 345 // 348 346 // loop over all tasks for postprocessing 347 // only tasks which have successfully been preprocessed are postprocessed. 349 348 // 350 349 while ( (task=(MTask*)Next()) ) … … 355 354 *fLog << task->GetName() << "... " << flush; 356 355 356 // 357 // FIXME: should we only skip this task? 358 // 357 359 if (!task->PostProcess()) 358 360 return kFALSE; -
trunk/MagicSoft/Mars/mbase/MWriteFile.h
r852 r961 22 22 virtual Bool_t PostProcess(); 23 23 24 ClassDef(MWriteFile, 0) // Class to write one container to an ascii file24 ClassDef(MWriteFile, 0) // Base class for tasks to write single containers to several output formats 25 25 }; 26 26 -
trunk/MagicSoft/Mars/mbase/MWriteRootFile.h
r852 r961 99 99 const char *tname=NULL, const char *ttitle=NULL); 100 100 101 ClassDef(MWriteRootFile, 0) // Class to write one container to a n asciifile101 ClassDef(MWriteRootFile, 0) // Class to write one container to a root file 102 102 }; 103 103 -
trunk/MagicSoft/Mars/mdatacheck/MGDisplayAdc.cc
r959 r961 118 118 */ 119 119 120 radio 1->SetState(kButtonDown);120 radio3->SetState(kButtonDown); 121 121 122 122 radio1->Associate(this); -
trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc
r959 r961 25 25 #include "MGCamDisplay.h" 26 26 27 #include <TList.h> // TList28 #include <T GButton.h> // TGPictureButton29 #include <TGButton Group.h>30 31 #include "MClone.h" 32 #include "M Hillas.h"33 #include "M EvtLoop.h"34 #include "MParList.h" 35 #include "M TaskList.h"36 #include "M ReadTree.h"37 #include "MCamDisplay.h" 38 #include "MHillasCalc.h" 39 #include "MPedestalCam.h" 40 #include "MCerPhotCalc.h" 41 #include "MImgCleanStd.h" 42 #include "MGeomCamMagic.h" 27 #include <TList.h> // TList::Add 28 #include <TCanvas.h> // TCanvas::cd 29 #include <TGButton.h> // TGPictureButton 30 #include <TGButtonGroup.h> // TGVButtonGroup 31 32 #include "MClone.h" // MClone 33 #include "MHillas.h" // MHillas 34 #include "MParList.h" // MParList::AddToList 35 #include "MEvtLoop.h" // MEvtLoop::GetParList 36 #include "MTaskList.h" // MTaskList::AddToList 37 #include "MCamDisplay.h" // MCamDisplay 38 #include "MHillasCalc.h" // MHillasCalc 39 #include "MPedestalCam.h" // MPedestalCam 40 #include "MCerPhotCalc.h" // MCerPhotCalc 41 #include "MImgCleanStd.h" // MImgCleanStd 42 #include "MGeomCamMagic.h" // MGeomMagicCam 43 43 44 44 ClassImp(MGCamDisplay); … … 189 189 hillas->Print(); 190 190 if (fDisplayHillas) 191 { 192 fCanvas->cd(); 191 193 hillas->Draw(); 194 } 192 195 else 193 196 hillas->Clear(); -
trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.h
r959 r961 36 36 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 37 37 38 ClassDef(MGCamDisplay, 0) 38 ClassDef(MGCamDisplay, 0) // Display for camera images (cerenkov events) 39 39 }; 40 40 -
trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc
r959 r961 481 481 case kC_TEXTENTRY: 482 482 if (GET_SUBMSG(msg) == kTE_ENTER) 483 ReadinEvent(atoi(fTxtEvtNr->GetText()) );483 ReadinEvent(atoi(fTxtEvtNr->GetText())-1); 484 484 return kTRUE; 485 485 } -
trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h
r959 r961 71 71 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 72 72 73 ClassDef(MGEvtDisplay, 0) 73 ClassDef(MGEvtDisplay, 0) // base class to display something event by event 74 74 }; 75 75 -
trunk/MagicSoft/Mars/meventdisp/MGFadcDisp.cc
r959 r961 54 54 { 55 55 M_PREVPIXEL = 0x1000, 56 M_NEXTPIXEL = 0x1001 56 M_NEXTPIXEL = 0x1001, 57 58 M_PIXELLIST = 0x1002 57 59 }; 58 60 … … 127 129 128 130 // 129 // Map the window, set up the layout, etc. 130 // 131 SetWMSizeHints(450, 400, 1000, 1000, 10, 10 ); // set the smallest and biggest size of the Main frame 132 131 // set the smallest and biggest size of the Main frame 132 // 133 SetWMSizeHints(450, 400, 1000, 1000, 10, 10); 134 135 // 136 // Map the window, set up the layout, etc. 137 // 133 138 MapSubwindows(); 134 139 … … 160 165 // the list of pixels in the fPixelList (TGListBox) 161 166 // 162 void MGFadcDisp:: CreatePixelList(Int_t lastsel)167 void MGFadcDisp::DisplayPixel(Int_t lastsel, Bool_t update) 163 168 { 164 169 MRawEvtData *data = GetEvent(); 165 170 166 //167 // put the selection of the last event in memory168 //169 171 MRawEvtPixelIter pixel(data); 170 while (pixel.Next()) 172 173 if (update) 171 174 { 172 char txt[100]; 173 sprintf(txt, "%d", pixel.GetPixelId()); 174 fPixelList->AddEntry(txt, pixel.GetPixelId()); 175 // 176 // put the selection of the last event in memory 177 // 178 while (pixel.Next()) 179 { 180 char txt[100]; 181 sprintf(txt, "%d", pixel.GetPixelId()); 182 fPixelList->AddEntry(txt, pixel.GetPixelId()); 183 } 184 185 fPixelList->MapSubwindows(); 186 fPixelList->Layout(); 175 187 } 176 177 fPixelList->MapSubwindows();178 fPixelList->Layout();179 188 180 189 // … … 187 196 { 188 197 pixel.Reset(); 189 lastsel= pixel.GetPixelId();198 lastsel=0; //pixel.GetPixelId(); 190 199 } 191 200 … … 194 203 data->Draw(txt); 195 204 fPixelList->Select(lastsel, kTRUE); 205 fPixelList->SetTopEntry(lastsel); 196 206 197 207 fCanvas->Modified(); … … 209 219 fPixelList->RemoveEntries(0, GetEvent()->GetNumPixels()); 210 220 211 CreatePixelList(lastsel); 212 } 213 214 // -------------------------------------------------------------------------- 215 // 216 // Display another pixel 217 // 218 void MGFadcDisp::DisplayPix(UInt_t i) 219 { 220 MRawEvtData *data = GetEvent(); 221 222 fCanvas->Clear(); 223 fCanvas->cd(); 224 225 char txt[256]; 226 sprintf(txt, "GRAPH%d", i); 227 data->Draw(txt); 228 229 fCanvas->Modified(); 230 fCanvas->Update(); 231 232 // 233 // FIXME: too complicated! 234 // 235 fPixelList->RemoveEntries(0, data->GetNumPixels()); 236 CreatePixelList(i); 221 DisplayPixel(lastsel); 237 222 } 238 223 … … 257 242 { 258 243 case M_PREVPIXEL: 259 DisplayPix (fPixelList->GetSelected()-1);244 DisplayPixel(fPixelList->GetSelected()-1, kFALSE); 260 245 return kTRUE; 261 246 262 247 case M_NEXTPIXEL: 263 DisplayPix (fPixelList->GetSelected()+1);248 DisplayPixel(fPixelList->GetSelected()+1, kFALSE); 264 249 return kTRUE; 265 250 } … … 270 255 break; 271 256 272 DisplayPix (fPixelList->GetSelected());257 DisplayPixel(fPixelList->GetSelected(), kFALSE); 273 258 return kTRUE; 274 259 } -
trunk/MagicSoft/Mars/meventdisp/MGFadcDisp.h
r959 r961 19 19 20 20 void AddSetupElements(); 21 void DisplayPix(UInt_t i);22 21 void UpdateDisplay(); 23 void CreatePixelList(Int_t lastsel=-1);22 void DisplayPixel(Int_t lastsel=-1, Bool_t update=kTRUE); 24 23 25 24 MRawEvtData *GetEvent() const; … … 32 31 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 33 32 34 ClassDef(MGFadcDisp, 0) 33 ClassDef(MGFadcDisp, 0) // Display for single pixel fadc data 35 34 }; 36 35 -
trunk/MagicSoft/Mars/mgui/MCamDisplay.cc
r959 r961 89 89 // 90 90 if (!gPad) 91 new TCanvas("CamDisplay", "Magic Camera Display", 0, 0, 650, 500);91 fDrawingPad = new TCanvas("CamDisplay", "Magic Camera Display", 0, 0, 650, 500); 92 92 else 93 { 93 94 gPad->Clear(); 95 fDrawingPad = gPad; 96 } 94 97 95 98 // … … 123 126 void MCamDisplay::DrawPhotNum(const MCerPhotEvt *event) 124 127 { 128 fDrawingPad->cd(); 125 129 126 130 // … … 172 176 void MCamDisplay::DrawPhotErr(const MCerPhotEvt *event) 173 177 { 178 fDrawingPad->cd(); 179 174 180 // 175 181 // reset the all pixel colors to a default value -
trunk/MagicSoft/Mars/mgui/MCamDisplay.h
r959 r961 20 20 class TBox; 21 21 class TText; 22 class TVirtualPad; 22 23 class TClonesArray; 23 24 … … 38 39 TClonesArray *fLegend; 39 40 TClonesArray *fLegText; 41 42 TVirtualPad *fDrawingPad; 40 43 41 44 TBox *GetBox(Int_t i) { return (TBox*) fLegend->At(i); } … … 71 74 } 72 75 73 ClassDef(MCamDisplay, 0) // Display the magic camera76 ClassDef(MCamDisplay, 0) // Displays the magic camera 74 77 }; 75 78 -
trunk/MagicSoft/Mars/mgui/MGeomCam.h
r859 r961 36 36 virtual void Print(Option_t *opt=NULL); 37 37 38 ClassDef(MGeomCam, 1) 38 ClassDef(MGeomCam, 1) // Geometry base class for the camera 39 39 }; 40 40 -
trunk/MagicSoft/Mars/mgui/MGeomPix.h
r715 r961 9 9 { 10 10 private: 11 Float_t fX; // the x coordinate12 Float_t fY; // the y coordinate13 Float_t fR; // the r coordinate11 Float_t fX; // the x coordinate 12 Float_t fY; // the y coordinate 13 Float_t fR; // the r coordinate 14 14 15 Byte_t fNumNeighbors; // number of valid neighbors16 Short_t fNeighbors[6]; // the IDs of the pixel next to it17 // we are assuming an hexagonal geometry15 Byte_t fNumNeighbors; // number of valid neighbors 16 Short_t fNeighbors[6]; // the IDs of the pixel next to it 17 // we are assuming an hexagonal geometry 18 18 19 19 public: 20 MGeomPix(Float_t x=0. , Float_t y=0., Float_t r=0.) ; 21 22 void Print(Option_t *opt=NULL) ; 20 MGeomPix(Float_t x=0, Float_t y=0, Float_t r=0); 23 21 24 void Set (Float_t x, Float_t y, Float_t r) { fX=x; fY=y; fR=r; }22 void Print(Option_t *opt=NULL); 25 23 26 void SetNeighbors(Short_t i0=-1, Short_t i1=-1, Short_t i2=-1, 27 Short_t i3=-1, Short_t i4=-1, Short_t i5=-1); 28 29 void SetX (Float_t x) { fX = x; } 30 void SetY (Float_t y) { fY = y; } 31 void SetR (Float_t r) { fR = r; } 24 void Set (Float_t x, Float_t y, Float_t r) { fX=x; fY=y; fR=r; } 32 25 33 Float_t GetX() const { return fX; } 34 Float_t GetY() const { return fY; } 35 Float_t GetR() const { return fR; } 26 void SetNeighbors(Short_t i0=-1, Short_t i1=-1, Short_t i2=-1, 27 Short_t i3=-1, Short_t i4=-1, Short_t i5=-1); 36 28 37 Byte_t GetNumNeighbors() const { return fNumNeighbors; } 38 Short_t GetNeighbor(Byte_t i) const { return fNeighbors[i]; } 29 void SetX (Float_t x) { fX = x; } 30 void SetY (Float_t y) { fY = y; } 31 void SetR (Float_t r) { fR = r; } 39 32 40 ClassDef(MGeomPix, 1) // Geometric class for one pixel 41 } ; 33 Float_t GetX() const { return fX; } 34 Float_t GetY() const { return fY; } 35 Float_t GetR() const { return fR; } 36 37 Byte_t GetNumNeighbors() const { return fNumNeighbors; } 38 Short_t GetNeighbor(Byte_t i) const { return fNeighbors[i]; } 39 40 ClassDef(MGeomPix, 1) // Geometry class describing the geometry of one pixel 41 }; 42 42 43 43 #endif -
trunk/MagicSoft/Mars/mgui/MHexagon.h
r698 r961 24 24 class MGeomPix; 25 25 26 class MHexagon : public TObject, public TAttLine, public TAttFill 27 { 28 protected: 29 30 Float_t fX ; // X coordinate of center 31 Float_t fY ; // Y coordinate of center 32 Float_t fD ; // diameter D or better distance between opposite sides 33 34 public: 35 36 MHexagon() ; 37 MHexagon(Float_t x, Float_t y, Float_t d ) ; 38 MHexagon(MGeomPix &pix); 39 MHexagon( const MHexagon &hexagon) ; 40 virtual ~MHexagon() ; 26 class MHexagon : public TObject, public TAttLine, public TAttFill 27 { 28 protected: 41 29 42 void Copy ( TObject &hexagon ) ; 30 Float_t fX; // X coordinate of center 31 Float_t fY; // Y coordinate of center 32 Float_t fD; // diameter D or better distance between opposite sides 43 33 44 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py ) ; 45 virtual void DrawHexagon( Float_t x, Float_t y, Float_t d ) ; 46 47 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py ) ; 48 49 virtual void ls (Option_t *Option="") ; 50 virtual void Paint(Option_t *Option="") ; 51 virtual void PaintHexagon(Float_t x, Float_t y, Float_t d) ; 52 virtual void Print(Option_t *Option="") ; 34 public: 53 35 54 ClassDef ( MHexagon, 0 ) // a hexagon for MAGIC 36 MHexagon(); 37 MHexagon(Float_t x, Float_t y, Float_t d); 38 MHexagon(MGeomPix &pix); 39 MHexagon(const MHexagon &hexagon); 40 virtual ~MHexagon(); 55 41 56 } ; 42 void Copy (TObject &hexagon); 57 43 58 #endif 44 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); 45 virtual void DrawHexagon( Float_t x, Float_t y, Float_t d); 59 46 47 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); 48 49 virtual void ls (Option_t *Option=""); 50 virtual void Paint(Option_t *Option=""); 51 virtual void PaintHexagon(Float_t x, Float_t y, Float_t d); 52 virtual void Print(Option_t *Option=""); 53 54 ClassDef(MHexagon, 0) // A hexagon for MAGIC 55 }; 56 57 #endif 58 -
trunk/MagicSoft/Mars/mhist/HistLinkDef.h
r905 r961 4 4 #pragma link off all classes; 5 5 #pragma link off all functions; 6 7 #pragma link C++ class MFillH; 6 8 7 9 #pragma link C++ class MH; … … 15 17 #pragma link C++ class MHMcRate; 16 18 17 #pragma link C++ class MFillH;18 #pragma link C++ class MFillHFadc;19 #pragma link C++ class MFillHHillas;20 #pragma link C++ class MFillHStarMap;21 22 19 #endif -
trunk/MagicSoft/Mars/mhist/MFillH.h
r887 r961 34 34 Bool_t PostProcess(); 35 35 36 ClassDef(MFillH, 0) // Task to fill the Hillas parameters into histograms36 ClassDef(MFillH, 0) // Task to fill a histogram with data from a parameter container 37 37 }; 38 38 -
trunk/MagicSoft/Mars/mhist/MH.h
r887 r961 17 17 virtual void Fill(const MParContainer *par) = 0; 18 18 19 ClassDef(MH, 1) // Container which holds hostograms for the Hillas parameters19 ClassDef(MH, 1) //A histogram base class for Mars histograms 20 20 }; 21 21 -
trunk/MagicSoft/Mars/mhist/MHHillas.h
r952 r961 35 35 TObject *DrawClone(Option_t *opt=NULL); 36 36 37 ClassDef(MHHillas, 1) // Container which h olds hostograms for the Hillas parameters37 ClassDef(MHHillas, 1) // Container which hilds hostograms for the Hillas parameters 38 38 }; 39 39 -
trunk/MagicSoft/Mars/mhist/MHMcCollectionArea.h
r954 r961 42 42 void CalcEfficiency(); 43 43 44 ClassDef(MHMcCollectionArea, 1) // 44 ClassDef(MHMcCollectionArea, 1) // Data Container to calculate Collection Area 45 45 }; 46 46 -
trunk/MagicSoft/Mars/mhist/MHMcRate.h
r954 r961 60 60 TObject *DrawClone(Option_t *o=NULL); 61 61 62 ClassDef(MHMcRate, 1) // 62 ClassDef(MHMcRate, 1) // Data Container to calculate Collection Area 63 63 }; 64 64 -
trunk/MagicSoft/Mars/mhist/Makefile
r893 r961 29 29 30 30 SRCFILES = MFillH.cc \ 31 MFillHFadc.cc \32 MFillHHillas.cc \33 MFillHStarMap.cc \34 31 MH.cc \ 35 32 MHFadcPix.cc \ -
trunk/MagicSoft/Mars/mmain/MAnalysis.h
r951 r961 33 33 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 34 34 35 ClassDef(MAnalysis, 0) // GUI: The ' data-check' window.35 ClassDef(MAnalysis, 0) // GUI: The 'Analysis' browser. 36 36 }; 37 37 -
trunk/MagicSoft/Mars/mmain/MBrowser.h
r951 r961 70 70 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 71 71 72 ClassDef(MBrowser, 0) // Base class for the gui72 ClassDef(MBrowser, 0) // Base class for the Gui-Browsers 73 73 } ; 74 74 -
trunk/MagicSoft/Mars/mmain/MCameraDisplay.h
r959 r961 18 18 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 19 19 20 ClassDef(MCameraDisplay, 0) // GUI: The ' data-check' window.20 ClassDef(MCameraDisplay, 0) // GUI: The 'camera display' browser. 21 21 }; 22 22 -
trunk/MagicSoft/Mars/mmain/MDataCheck.h
r959 r961 21 21 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 22 22 23 ClassDef(MDataCheck, 0) // GUI: The 'data-check' window.23 ClassDef(MDataCheck, 0) // GUI: The 'data-check' browser. 24 24 }; 25 25 -
trunk/MagicSoft/Mars/mmain/MEvtDisp.h
r947 r961 18 18 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 19 19 20 ClassDef(MEvtDisp, 0) 20 ClassDef(MEvtDisp, 0) // GUI: The 'event display' browser. 21 21 }; 22 22 -
trunk/MagicSoft/Mars/mmain/MMonteCarlo.h
r954 r961 37 37 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2); 38 38 39 ClassDef(MMonteCarlo, 0) // GUI: The 'monte-carlo' window39 ClassDef(MMonteCarlo, 0) // GUI: The 'monte-carlo' browser 40 40 }; 41 41 -
trunk/MagicSoft/Mars/mraw/MRawFileRead.cc
r860 r961 23 23 \* ======================================================================== */ 24 24 25 //////////////////////////////////////////////////////////////////////// 26 // 27 // MRawFile 28 // 29 // This tasks reads the raw binary file like specified in the TDAS??? 30 // and writes the data in the corresponding containers which are 31 // either retrieved from the parameter list or created and added. 32 // 33 // Input Containers: 34 // -/- 35 // 36 // Output Containers: 37 // MRawRunHeader, MRawEvtHeader, MRawEvtData, MRawCrateArray, M RawEvtTime38 // 39 //////////////////////////////////////////////////////////////////////// 25 ////////////////////////////////////////////////////////////////////////////// 26 // // 27 // MRawFile // 28 // // 29 // This tasks reads the raw binary file like specified in the TDAS??? // 30 // and writes the data in the corresponding containers which are // 31 // either retrieved from the parameter list or created and added. // 32 // // 33 // Input Containers: // 34 // -/- // 35 // // 36 // Output Containers: // 37 // MRawRunHeader, MRawEvtHeader, MRawEvtData, MRawCrateArray, MTime // 38 // // 39 ////////////////////////////////////////////////////////////////////////////// 40 40 41 41 #include "MRawFileRead.h"
Note:
See TracChangeset
for help on using the changeset viewer.