source: trunk/MagicSoft/Mars/mpointing/MSrcPosCam.cc@ 7128

Last change on this file since 7128 was 7109, checked in by tbretz, 20 years ago
*** empty log message ***
File size: 3.6 KB
Line 
1/* ======================================================================== *\
2!
3! *
4! * This file is part of MARS, the MAGIC Analysis and Reconstruction
5! * Software. It is distributed to you in the hope that it can be a useful
6! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
7! * It is distributed WITHOUT ANY WARRANTY.
8! *
9! * Permission to use, copy, modify and distribute this software and its
10! * documentation for any purpose is hereby granted without fee,
11! * provided that the above copyright notice appear in all copies and
12! * that both that copyright notice and this permission notice appear
13! * in supporting documentation. It is provided "as is" without express
14! * or implied warranty.
15! *
16!
17!
18! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de>
19! Author(s): Rudolf Bock 10/2001 <mailto:Rudolf.Bock@cern.ch>
20!
21! Copyright: MAGIC Software Development, 2000-2002
22!
23!
24\* ======================================================================== */
25
26//////////////////////////////////////////////////////////////////////////////
27//
28// MSrcPosCam
29//
30// Storage Container to hold the current position of the source (or
31// anti/false source) in the camera plain
32//
33//////////////////////////////////////////////////////////////////////////////
34#include "MSrcPosCam.h"
35
36#include <fstream>
37
38#include <TVector2.h>
39
40#include "MLog.h"
41#include "MLogManip.h"
42
43ClassImp(MSrcPosCam);
44
45using namespace std;
46
47static const TString gsDefName = "MSrcPosCam";
48static const TString gsDefTitle = "Virtual source position in the camera";
49
50// --------------------------------------------------------------------------
51//
52// Default constructor.
53//
54MSrcPosCam::MSrcPosCam(const char *name, const char *title) : fX(0), fY(0)
55{
56 fName = name ? name : gsDefName.Data();
57 fTitle = title ? title : gsDefTitle.Data();
58}
59
60// --------------------------------------------------------------------------
61//
62// Copy constructor, set default name and title
63//
64MSrcPosCam::MSrcPosCam(const MSrcPosCam &p) : fX(p.fX), fY(p,fY)
65{
66 fName = gsDefName.Data();
67 fTitle = gsDefTitle.Data();
68}
69
70// -----------------------------------------------------------------------
71//
72void MSrcPosCam::Print(Option_t *) const
73{
74 *fLog << all;
75 *fLog << "Source position in the camera plain (" << GetName() << ")" << endl;
76 *fLog << " - x [mm] = " << fX << endl;
77 *fLog << " - y [mm] = " << fY << endl;
78}
79
80void MSrcPosCam::SetXY(const TVector2 &v)
81{
82 fX = v.X();
83 fY = v.Y();
84}
85
86TVector2 MSrcPosCam::GetXY() const
87{
88 return TVector2(fX, fY);
89}
90
91/*
92// -----------------------------------------------------------------------
93//
94// overloaded MParContainer to read MSrcPosCam from an ascii file
95//
96void MSrcPosCam::AsciiRead(ifstream &fin)
97{
98 fin >> fX;
99 fin >> fY;
100}
101
102// -----------------------------------------------------------------------
103//
104// overloaded MParContainer to write MSrcPosCam to an ascii file
105//
106void MSrcPosCam::AsciiWrite(ofstream &fout) const
107{
108 fout << fX << " " << fY;
109}
110*/
111
112// --------------------------------------------------------------------------
113//
114// Implementation of SavePrimitive. Used to write the call to a constructor
115// to a macro. In the original root implementation it is used to write
116// gui elements to a macro-file.
117//
118void MSrcPosCam::StreamPrimitive(ofstream &out) const
119{
120 out << " MSrcPosCam " << GetUniqueName();
121 if (fName!=gsDefName)
122 {
123 out << "(\"" << fName << "\"";
124 if (fTitle!=gsDefTitle)
125 out << ", \"" << fTitle << "\"";
126 out <<")";
127 }
128 out << ";" << endl;
129
130 out << " " << GetUniqueName() << ".SetXY(" << fX << ", " << fY << ");" << endl;}
Note: See TracBrowser for help on using the repository browser.