CMS 3D CMS Logo

OptOXLaser.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOXLaser.h
3 //CAT: Model
4 //
5 // Base class to describe Optical Objects of type sensor 2D
6 //
7 // History: v1.0
8 // Pedro Arce
9 
10 #ifndef _OptOXLaser_HH
11 #define _OptOXLaser_HH
12 
15 class Measurement;
16 class LightRay;
17 
18 class OptOXLaser : public OpticalObject {
19 public:
20  //---------- Constructors / Destructor
22  OptOXLaser(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data)
23  : OpticalObject(parent, type, name, copy_data){};
24  ~OptOXLaser() override{};
25 
26  //---------- Default behaviour: create a LightRay object
27  void defaultBehaviour(LightRay& lightray, Measurement& meas) override;
28  void constructSolidShape() override;
29 
30 #ifdef COCOA_VIS
31  virtual void fillIguana();
32 #endif
33 };
34 
35 #endif
OptOXLaser(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOXLaser.h:22
const ALIstring & name() const
Definition: OpticalObject.h:58
bool ALIbool
Definition: CocoaGlobals.h:19
virtual void fillIguana()
Definition: OpticalObject.h:55
Measurement * meas()
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOXLaser.cc:21
std::string ALIstring
Definition: CocoaGlobals.h:9
const OpticalObject * parent() const
Definition: OpticalObject.h:60
~OptOXLaser() override
Definition: OptOXLaser.h:24
void constructSolidShape() override
Definition: OptOXLaser.cc:47