source: tags/Mars-V0.9/mpointing/MSrcPosCam.cc

Last change on this file was 3568, checked in by tbretz, 21 years ago
*** empty log message ***
File size: 3.4 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//
62void MSrcPosCam::Print(Option_t *) const
63{
64 *fLog << all;
65 *fLog << "Source position in the camera plain (" << GetName() << ")" << endl;
66 *fLog << " - x [mm] = " << fX << endl;
67 *fLog << " - y [mm] = " << fY << endl;
68}
69
70void MSrcPosCam::SetXY(const TVector2 &v)
71{
72 fX = v.X();
73 fY = v.Y();
74}
75
76TVector2 MSrcPosCam::GetXY() const
77{
78 return TVector2(fX, fY);
79}
80
81/*
82// -----------------------------------------------------------------------
83//
84// overloaded MParContainer to read MSrcPosCam from an ascii file
85//
86void MSrcPosCam::AsciiRead(ifstream &fin)
87{
88 fin >> fX;
89 fin >> fY;
90}
91
92// -----------------------------------------------------------------------
93//
94// overloaded MParContainer to write MSrcPosCam to an ascii file
95//
96void MSrcPosCam::AsciiWrite(ofstream &fout) const
97{
98 fout << fX << " " << fY;
99}
100*/
101
102// --------------------------------------------------------------------------
103//
104// Implementation of SavePrimitive. Used to write the call to a constructor
105// to a macro. In the original root implementation it is used to write
106// gui elements to a macro-file.
107//
108void MSrcPosCam::StreamPrimitive(ofstream &out) const
109{
110 out << " MSrcPosCam " << GetUniqueName();
111 if (fName!=gsDefName)
112 {
113 out << "(\"" << fName << "\"";
114 if (fTitle!=gsDefTitle)
115 out << ", \"" << fTitle << "\"";
116 out <<")";
117 }
118 out << ";" << endl;
119
120 out << " " << GetUniqueName() << ".SetXY(" << fX << ", " << fY << ");" << endl;}
Note: See TracBrowser for help on using the repository browser.