CMS 3D CMS Logo

OptOSensor2D.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOSensor2D.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 _OPTOSENSOR2D_HH
11 #define _OPTOSENSOR2D_HH
12 
15 class Measurement;
16 class LightRay;
18 
20 {
21 
22 public:
23  //---------- Constructors / Destructor
25  OptOSensor2D(OpticalObject* parent, const ALIstring& type, const ALIstring& name, const ALIbool copy_data) :
26  OpticalObject( parent, type, name, copy_data), fdevi_from_file(false){ };
27  ~OptOSensor2D() override{ };
28 
29  //---------- defaultBehaviour: make measurement
30  void defaultBehaviour( LightRay& lightray, Measurement& meas ) override;
31  //---------- Make measurement
32  void makeMeasurement( LightRay& lightray, Measurement& meas ) override;
33  //---------- Fast simulation of the light ray traversing
34  void fastTraversesLightRay( LightRay& lightray ) override;
35  //---------- Detailed simulation of the light ray traversing
36  void detailedTraversesLightRay( LightRay& lightray ) override;
37 
38  // Create and fill an extra entry, checking if it has to be read from file
39  void fillExtraEntry( std::vector<ALIstring>& wordlist ) override;
40 
41  // Get intersection in local coordinates
42  ALIdouble* convertPointToLocalCoordinates( const CLHEP::Hep3Vector& point);
43 
44 #ifdef COCOA_VIS
45  virtual void fillVRML();
46  virtual void fillIguana();
47 #endif
48  void constructSolidShape() override;
49 
50  private:
51  // Deviation values read from file
54 };
55 
56 #endif
type
Definition: HCALResponse.h:21
long double ALIdouble
Definition: CocoaGlobals.h:11
~OptOSensor2D() override
Definition: OptOSensor2D.h:27
void detailedTraversesLightRay(LightRay &lightray) override
virtual void fillVRML()
Definition: OpticalObject.h:55
void makeMeasurement(LightRay &lightray, Measurement &meas) override
Definition: OptOSensor2D.cc:44
bool ALIbool
Definition: CocoaGlobals.h:19
DeviationsFromFileSensor2D * deviFromFile
Definition: OptOSensor2D.h:52
const OpticalObject * parent() const
Definition: OpticalObject.h:62
ALIbool fdevi_from_file
Definition: OptOSensor2D.h:53
void fastTraversesLightRay(LightRay &lightray) override
OptOSensor2D(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOSensor2D.h:25
void defaultBehaviour(LightRay &lightray, Measurement &meas) override
Definition: OptOSensor2D.cc:35
void fillExtraEntry(std::vector< ALIstring > &wordlist) override
void constructSolidShape() override
virtual void fillIguana()
Definition: OpticalObject.h:56
Measurement * meas()
std::string ALIstring
Definition: CocoaGlobals.h:9
const ALIstring & name() const
Definition: OpticalObject.h:60
ALIdouble * convertPointToLocalCoordinates(const CLHEP::Hep3Vector &point)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5