| Line |   | 
|---|
| 1 | // ArchTOIPipe           (C)     CEA/DAPNIA/SPP IN2P3/LAL
 | 
|---|
| 2 | //                               Eric Aubourg
 | 
|---|
| 3 | //                               Christophe Magneville
 | 
|---|
| 4 | //                               Reza Ansari
 | 
|---|
| 5 | // $Id: ring.cc,v 1.1 2003-05-19 23:31:29 aubourg Exp $
 | 
|---|
| 6 | 
 | 
|---|
| 7 | #include "ring.h"
 | 
|---|
| 8 | #include "ringphase.h"
 | 
|---|
| 9 | 
 | 
|---|
| 10 | Ring::Ring(int ns, double th, double p, double ap, RingPhase* rp) 
 | 
|---|
| 11 |   : n(ns), theta(th), phi(p), aperture(ap), ringPhase(rp), ownRingPhase(false), data(new double[ns])
 | 
|---|
| 12 | {
 | 
|---|
| 13 |   if (ringPhase == NULL) {
 | 
|---|
| 14 |     ringPhase = new SimpleRingPhase(n);
 | 
|---|
| 15 |     ownRingPhase = true;
 | 
|---|
| 16 |   }
 | 
|---|
| 17 | }
 | 
|---|
| 18 | 
 | 
|---|
| 19 | Ring::~Ring() {
 | 
|---|
| 20 |   if (ownRingPhase) delete ringPhase;
 | 
|---|
| 21 |   delete[] data;
 | 
|---|
| 22 | }
 | 
|---|
| 23 | 
 | 
|---|
| 24 | void Ring::setData(double* d) {
 | 
|---|
| 25 |   memcpy(data, d, n*sizeof(double));
 | 
|---|
| 26 | }
 | 
|---|
| 27 | 
 | 
|---|
| 28 | void Ring::setData(int i, double d) {
 | 
|---|
| 29 |   data[i] = d;
 | 
|---|
| 30 | }
 | 
|---|
| 31 | 
 | 
|---|
| 32 | const double* Ring::getData() const {
 | 
|---|
| 33 |   return data;
 | 
|---|
| 34 | }
 | 
|---|
| 35 | 
 | 
|---|
| 36 | double Ring::getData(int i) const {
 | 
|---|
| 37 |   return data[i];
 | 
|---|
| 38 | }
 | 
|---|
| 39 | 
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.